# NPE for bulk indexing via Java API

**URL:** <https://discuss.elastic.co/t/npe-for-bulk-indexing-via-java-api/3843>\
**Category:** Elasticsearch\
**Created:** [January 30, 2011, 8:20pm UTC](https://discuss.elastic.co/t/npe-for-bulk-indexing-via-java-api/3843 "2011-01-30T20:20:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Karussell1](https://avatars.discourse-cdn.com/v4/letter/k/50afbb/32.png) [@Karussell1](https://discuss.elastic.co/u/Karussell1)\
**Post date:** [January 30, 2011, 8:20pm UTC](https://discuss.elastic.co/t/npe-for-bulk-indexing-via-java-api/3843/1 "2011-01-30T20:20:41Z")

</div>

Hi,

I got a NPE when doing sth. like this:

```
    BulkRequestBuilder brb = client.prepareBulk();
        for (SolrTweet tw : tweets) {
            String id = Long.toString(tw.getTwitterId());
            XContentBuilder source = createDoc(tw);

```

brb.add(Requests.indexRequest(indexName).type(getIndexType()).id(id).source(source));  
}  
if (brb.numberOfActions() \> 0) brb.execute().actionGet();

I didn't properly check if the status was ok or not but no exception  
should be thrown ...

Kind Regards,  
Peter.

2011-01-27 13:02:02,826 [elasticsearch[Eon][tp]-pool-1-thread-6] WARN  
org.elasticsearch.action.bulk - [Eon] Failed to update master on  
updated mapping for index [index2], type [tweet]  
java.lang.NullPointerException  
at  
org.elasticsearch.action.bulk.TransportShardBulkAction.updateMappingOnMaster(TransportShardBulkAction.java:  
244)  
at  
org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:  
168)  
at  
org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:  
61)  
at  
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:  
421)  
at  
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
$AsyncShardOperationAction.access  
$200(TransportShardReplicationOperationAction.java:220)  
at  
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
$AsyncShardOperationAction  
$1.run(TransportShardReplicationOperationAction.java:318)  
at java.util.concurrent.ThreadPoolExecutor  
$Worker.runTask(ThreadPoolExecutor.java:886)  
at java.util.concurrent.ThreadPoolExecutor  
$Worker.run(ThreadPoolExecutor.java:908)  
at java.lang.Thread.run(Thread.java:662)

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [January 30, 2011, 9:19pm UTC](https://discuss.elastic.co/t/npe-for-bulk-indexing-via-java-api/3843/2 "2011-01-30T21:19:03Z")

</div>

I will try and track this down and see why it happens...  
On Sunday, January 30, 2011 at 10:20 PM, Karussell wrote:

> Hi,
> 
> I got a NPE when doing sth. like this:
> 
> BulkRequestBuilder brb = client.prepareBulk();  
> for (SolrTweet tw : tweets) {  
> String id = Long.toString(tw.getTwitterId());  
> XContentBuilder source = createDoc(tw);
> 
> brb.add(Requests.indexRequest(indexName).type(getIndexType()).id(id).source(source));  
> }  
> if (brb.numberOfActions() \> 0) brb.execute().actionGet();
> 
> I didn't properly check if the status was ok or not but no exception  
> should be thrown ...
> 
> Kind Regards,  
> Peter.
> 
> 2011-01-27 13:02:02,826 [elasticsearch[Eon][tp]-pool-1-thread-6] WARN  
> org.elasticsearch.action.bulk - [Eon] Failed to update master on  
> updated mapping for index [index2], type [tweet]  
> java.lang.NullPointerException  
> at  
> org.elasticsearch.action.bulk.TransportShardBulkAction.updateMappingOnMaster(TransportShardBulkAction.java:  
> 244)  
> at  
> org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:  
> 168)  
> at  
> org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:  
> 61)  
> at  
> org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
> $AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:  
> 421)  
> at  
> org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
> $AsyncShardOperationAction.access  
> $200(TransportShardReplicationOperationAction.java:220)  
> at  
> org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
> $AsyncShardOperationAction  
> $1.run(TransportShardReplicationOperationAction.java:318)  
> at java.util.concurrent.ThreadPoolExecutor  
> $Worker.runTask(ThreadPoolExecutor.java:886)  
> at java.util.concurrent.ThreadPoolExecutor  
> $Worker.run(ThreadPoolExecutor.java:908)  
> at java.lang.Thread.run(Thread.java:662)

---

<div class="post-metadata">

**Author:** ![Karussell1](https://avatars.discourse-cdn.com/v4/letter/k/50afbb/32.png) [@Karussell1](https://discuss.elastic.co/u/Karussell1)\
**Post date:** [January 31, 2011, 7:16pm UTC](https://discuss.elastic.co/t/npe-for-bulk-indexing-via-java-api/3843/3 "2011-01-31T19:16:15Z")

</div>

Thanks

On 30 Jan., 22:19, Shay Banon [shay.ba...@elasticsearch.com](mailto:shay.ba...@elasticsearch.com) wrote:

> I will try and track this down and see why it happens...
> 
> On Sunday, January 30, 2011 at 10:20 PM, Karussell wrote:
> 
> > Hi,
> 
> > I got a NPE when doing sth. like this:
> 
> > BulkRequestBuilder brb = client.prepareBulk();  
> > for (SolrTweet tw : tweets) {  
> > String id = Long.toString(tw.getTwitterId());  
> > XContentBuilder source = createDoc(tw);
> 
> > brb.add(Requests.indexRequest(indexName).type(getIndexType()).id(id).source(source));  
> > }  
> > if (brb.numberOfActions() \> 0) brb.execute().actionGet();
> 
> > I didn't properly check if the status was ok or not but no exception  
> > should be thrown ...
> 
> > Kind Regards,  
> > Peter.
> 
> > 2011-01-27 13:02:02,826 [elasticsearch[Eon][tp]-pool-1-thread-6] WARN  
> > org.elasticsearch.action.bulk - [Eon] Failed to update master on  
> > updated mapping for index [index2], type [tweet]  
> > java.lang.NullPointerException  
> > at  
> > org.elasticsearch.action.bulk.TransportShardBulkAction.updateMappingOnMaster(TransportShardBulkAction.java:  
> > 244)  
> > at  
> > org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:  
> > 168)  
> > at  
> > org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:  
> > 61)  
> > at  
> > org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
> > $AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:  
> > 421)  
> > at  
> > org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
> > $AsyncShardOperationAction.access  
> > $200(TransportShardReplicationOperationAction.java:220)  
> > at  
> > org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
> > $AsyncShardOperationAction  
> > $1.run(TransportShardReplicationOperationAction.java:318)  
> > at java.util.concurrent.ThreadPoolExecutor  
> > $Worker.runTask(ThreadPoolExecutor.java:886)  
> > at java.util.concurrent.ThreadPoolExecutor  
> > $Worker.run(ThreadPoolExecutor.java:908)  
> > at java.lang.Thread.run(Thread.java:662)

---

<div class="post-metadata">

**Author:** ![Toby\_M](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/toby_m/32/3275_2.png) [@Toby\_M](https://discuss.elastic.co/u/Toby_M)\
**Post date:** [February 5, 2011, 11:19pm UTC](https://discuss.elastic.co/t/npe-for-bulk-indexing-via-java-api/3843/4 "2011-02-05T23:19:40Z")

</div>

Just want to add that I get basically the same error using a standard  
(non-bulk) HTTP PUT request. Elasticsearch returns a 200 indicating  
the index, type, and dynamic mapping have all been created. However, a  
subsequent search or GET for \_mapping fails.

200 Response:

{"ok":true,"\_index":"myindex","\_type":"mytype1","\_id":"init"}

Elasticsearch log:

[WARN][action.index] [Grey King] Failed to update master  
on updated mapping for index [myindex], type [mytype1]  
java.lang.NullPointerException  
at  
org.elasticsearch.action.index.TransportIndexAction.updateMappingOnMaster(TransportIndexAction.java:  
201)  
at  
org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:  
176)  
at  
org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:  
66)  
at  
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:  
418)  
at  
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
$AsyncShardOperationAction.access  
$200(TransportShardReplicationOperationAction.java:218)  
at  
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
$AsyncShardOperationAction  
$1.run(TransportShardReplicationOperationAction.java:316)  
at java.util.concurrent.ThreadPoolExecutor  
$Worker.runTask(ThreadPoolExecutor.java:886)  
at java.util.concurrent.ThreadPoolExecutor  
$Worker.run(ThreadPoolExecutor.java:908)  
at java.lang.Thread.run(Thread.java:680)

On Jan 31, 2:16 pm, Karussell [tableyourt...@googlemail.com](mailto:tableyourt...@googlemail.com) wrote:

> Thanks
> 
> On 30 Jan., 22:19, Shay Banon [shay.ba...@elasticsearch.com](mailto:shay.ba...@elasticsearch.com) wrote:
> 
> > I will try and track this down and see why it happens...
> 
> > On Sunday, January 30, 2011 at 10:20 PM, Karussell wrote:
> > 
> > > Hi,
> 
> > > I got a NPE when doing sth. like this:
> 
> > > BulkRequestBuilder brb = client.prepareBulk();  
> > > for (SolrTweet tw : tweets) {  
> > > String id = Long.toString(tw.getTwitterId());  
> > > XContentBuilder source = createDoc(tw);
> 
> > > brb.add(Requests.indexRequest(indexName).type(getIndexType()).id(id).source (source));  
> > > }  
> > > if (brb.numberOfActions() \> 0) brb.execute().actionGet();
> 
> > > I didn't properly check if the status was ok or not but no exception  
> > > should be thrown ...
> 
> > > Kind Regards,  
> > > Peter.
> 
> > > 2011-01-27 13:02:02,826 [elasticsearch[Eon][tp]-pool-1-thread-6] WARN  
> > > org.elasticsearch.action.bulk - [Eon] Failed to update master on  
> > > updated mapping for index [index2], type [tweet]  
> > > java.lang.NullPointerException  
> > > at  
> > > org.elasticsearch.action.bulk.TransportShardBulkAction.updateMappingOnMaste r(TransportShardBulkAction.java:  
> > > 244)  
> > > at  
> > > org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrim ary(TransportShardBulkAction.java:  
> > > 168)  
> > > at  
> > > org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrim ary(TransportShardBulkAction.java:  
> > > 61)  
> > > at  
> > > org.elasticsearch.action.support.replication.TransportShardReplicationOpera tionAction  
> > > $AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperat ionAction.java:  
> > > 421)  
> > > at  
> > > org.elasticsearch.action.support.replication.TransportShardReplicationOpera tionAction  
> > > $AsyncShardOperationAction.access  
> > > $200(TransportShardReplicationOperationAction.java:220)  
> > > at  
> > > org.elasticsearch.action.support.replication.TransportShardReplicationOpera tionAction  
> > > $AsyncShardOperationAction  
> > > $1.run(TransportShardReplicationOperationAction.java:318)  
> > > at java.util.concurrent.ThreadPoolExecutor  
> > > $Worker.runTask(ThreadPoolExecutor.java:886)  
> > > at java.util.concurrent.ThreadPoolExecutor  
> > > $Worker.run(ThreadPoolExecutor.java:908)  
> > > at java.lang.Thread.run(Thread.java:662)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 4:12am UTC](https://discuss.elastic.co/t/npe-for-bulk-indexing-via-java-api/3843/5 "2017-07-06T04:12:34Z")

</div>


