NPE in ObjectMapper.parse


(edecitre) #1

Hi there,

I have a river plugged to a couchdb that gets a few thousands documents updated.

I get the following NPE:

[DEBUG][action.bulk ] [Evilhawk???] [germany][0]: Failed to execute bulk item (index) [index {[germany][db1][c20147700], source[{"_rev":"1-e4e4f2b0aa87c0af9fbb6e1bf3f8b894","parents":{},"_id":"c20147700","children":{"None":["c20171489"]},"properties":{"feature_code":1111,"attributes":{"#D":"COUNTRY","#A":5,"#C":2,"#L":"GER","22":"EUR","IC":"DEU","#M":"M","12":0}},"type":"Feature"}]}]
java.lang.NullPointerException
at org.elasticsearch.index.mapper.xcontent.ObjectMapper.parse(ObjectMapper.java:294)
at org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:430)
at org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:368)
at org.elasticsearch.index.shard.service.InternalIndexShard.prepareIndex(InternalIndexShard.java:230)
at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:123)
at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:61)
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:662)
[2011-01-25 19:46:38,670][WARN ][river.couchdb ] [Evilhawk???] [couchdb][germany_river] failed to executefailure in bulk execution:
[0]: index [germany], type [db1], id [c20147700], message [NullPointerException[null]]

Is it because the document to index contains "parents":{} ?

Thanks for your help,
E


(edecitre) #2

The NPE is produced when using a wrong mapping.
The "IC" field is a string, and not an object.
I had in the mapping:
"IC": { "properties": { "text": {"type": "string", "index": "not_analyzed"} } }
It should have been:
"IC": { "type": "string", "index": "not_analyzed"} }

E


(system) #3