# ReplicationShardOperationFailedException when indexing document with heterogeneous array

**URL:** <https://discuss.elastic.co/t/replicationshardoperationfailedexception-when-indexing-document-with-heterogeneous-array/3351>\
**Category:** Elasticsearch\
**Created:** [September 21, 2010, 2:11pm UTC](https://discuss.elastic.co/t/replicationshardoperationfailedexception-when-indexing-document-with-heterogeneous-array/3351 "2010-09-21T14:11:25Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alex\_Wajda](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alex_wajda/32/3319_2.png) [@Alex\_Wajda](https://discuss.elastic.co/u/Alex_Wajda)\
**Post date:** [September 21, 2010, 2:11pm UTC](https://discuss.elastic.co/t/replicationshardoperationfailedexception-when-indexing-document-with-heterogeneous-array/3351/1 "2010-09-21T14:11:25Z")

</div>

Hi,

I'm trying to index the following JSON document with an array of  
values of different types:

$ curl -XPUT [http://localhost:9200/myidx/mytype/1](http://localhost:9200/myidx/mytype/1) -d '  
{  
id:1,  
heterogeneous\_array: [  
123,  
"string value",  
{content: "json value"}  
]  
}'

And here's what I get:

{"error":"ReplicationShardOperationFailedException[[myidx][0] ];  
nested: MapperParsingException[Failed to parse [heterogeneous\_array]];  
nested: NumberFormatException[For input string: "string value"]; "}

[16:08:35,151][INFO][cluster.metadata] [Annie Ghazikhanian]  
[myidx] creating index, cause [auto(index api)], shards [5]/[1],  
mappings []  
[16:08:35,710][DEBUG][action.index] [Annie Ghazikhanian]  
[myidx][0], node[87109fd6-40f4-4143-8ab2-062505eb5302], [P],  
s[STARTED]: Failed to execute [[myidx][mytype][1], source[  
{  
id:1,  
heterogeneous\_array: [  
123,  
"string value",  
{content: "json value"}  
]  
}]]  
org.elasticsearch.index.mapper.MapperParsingException: Failed to parse  
[heterogeneous\_array]  
at  
org.elasticsearch.index.mapper.xcontent.XContentFieldMapper.parse(XContentFieldMapper.java:  
293)  
at  
org.elasticsearch.index.mapper.xcontent.XContentObjectMapper.serializeValue(XContentObjectMapper.java:  
405)  
at  
org.elasticsearch.index.mapper.xcontent.XContentObjectMapper.serializeArray(XContentObjectMapper.java:  
397)  
at  
org.elasticsearch.index.mapper.xcontent.XContentObjectMapper.parse(XContentObjectMapper.java:  
330)  
at  
org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:  
336)  
at  
org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:  
288)  
at  
org.elasticsearch.index.shard.service.InternalIndexShard.innerIndex(InternalIndexShard.java:  
233)  
at  
org.elasticsearch.index.shard.service.InternalIndexShard.index(InternalIndexShard.java:  
225)  
at  
org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:  
130)  
at  
org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:  
57)  
at  
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:  
381)  
at  
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
$AsyncShardOperationAction.access  
$400(TransportShardReplicationOperationAction.java:208)  
at  
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
$AsyncShardOperationAction  
$1.run(TransportShardReplicationOperationAction.java:278)  
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:619)  
Caused by: java.lang.NumberFormatException: For input string: "string  
value"  
at  
java.lang.NumberFormatException.forInputString(NumberFormatException.java:  
48)  
at java.lang.Long.parseLong(Long.java:410)  
at java.lang.Long.parseLong(Long.java:468)  
at  
org.elasticsearch.common.xcontent.support.AbstractXContentParser.longValue(AbstractXContentParser.java:  
68)  
at  
org.elasticsearch.index.mapper.xcontent.XContentLongFieldMapper.parseCreateField(XContentLongFieldMapper.java:  
171)  
at  
org.elasticsearch.index.mapper.xcontent.XContentLongFieldMapper.parseCreateField(XContentLongFieldMapper.java:  
49)  
at  
org.elasticsearch.index.mapper.xcontent.XContentFieldMapper.parse(XContentFieldMapper.java:  
282)  
... 15 more

Thank you!

BR, Alex.

---

<div class="post-metadata">

**Author:** ![thiago](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/thiago/32/32096_2.png) [@thiago](https://discuss.elastic.co/u/thiago)\
**Post date:** [September 21, 2010, 5:35pm UTC](https://discuss.elastic.co/t/replicationshardoperationfailedexception-when-indexing-document-with-heterogeneous-array/3351/2 "2010-09-21T17:35:00Z")

</div>

Hello,

```
  I guess this isn't supported. As far as I know, all values of an array

```

must be of the same type.

Regards,  
Thiago Souza

On Tue, Sep 21, 2010 at 11:11, Alex Wajda [alexander.wajda@gmail.com](mailto:alexander.wajda@gmail.com) wrote:

> Hi,
> 
> I'm trying to index the following JSON document with an array of  
> values of different types:
> 
> $ curl -XPUT [http://localhost:9200/myidx/mytype/1](http://localhost:9200/myidx/mytype/1) -d '  
> {  
> id:1,  
> heterogeneous\_array: [  
> 123,  
> "string value",  
> {content: "json value"}  
> ]  
> }'
> 
> And here's what I get:
> 
> {"error":"ReplicationShardOperationFailedException[[myidx][0] ];  
> nested: MapperParsingException[Failed to parse [heterogeneous\_array]];  
> nested: NumberFormatException[For input string: "string value"]; "}
> 
> [16:08:35,151][INFO][cluster.metadata] [Annie Ghazikhanian]  
> [myidx] creating index, cause [auto(index api)], shards [5]/[1],  
> mappings   
> [16:08:35,710][DEBUG][action.index] [Annie Ghazikhanian]  
> [myidx][0], node[87109fd6-40f4-4143-8ab2-062505eb5302], [P],  
> s[STARTED]: Failed to execute [[myidx][mytype][1], source[  
> {  
> id:1,  
> heterogeneous\_array: [  
> 123,  
> "string value",  
> {content: "json value"}  
> ]  
> }]]  
> org.elasticsearch.index.mapper.MapperParsingException: Failed to parse  
> [heterogeneous\_array]  
> at
> 
> org.elasticsearch.index.mapper.xcontent.XContentFieldMapper.parse(XContentFieldMapper.java:  
> 293)  
> at
> 
> org.elasticsearch.index.mapper.xcontent.XContentObjectMapper.serializeValue(XContentObjectMapper.java:  
> 405)  
> at
> 
> org.elasticsearch.index.mapper.xcontent.XContentObjectMapper.serializeArray(XContentObjectMapper.java:  
> 397)  
> at
> 
> org.elasticsearch.index.mapper.xcontent.XContentObjectMapper.parse(XContentObjectMapper.java:  
> 330)  
> at
> 
> org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:  
> 336)  
> at
> 
> org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:  
> 288)  
> at
> 
> org.elasticsearch.index.shard.service.InternalIndexShard.innerIndex(InternalIndexShard.java:  
> 233)  
> at
> 
> org.elasticsearch.index.shard.service.InternalIndexShard.index(InternalIndexShard.java:  
> 225)  
> at
> 
> org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:  
> 130)  
> at
> 
> org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:  
> 57)  
> at
> 
> org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction
> 
> $AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:  
> 381)  
> at
> 
> org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
> $AsyncShardOperationAction.access  
> $400(TransportShardReplicationOperationAction.java:208)  
> at
> 
> org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
> $AsyncShardOperationAction  
> $1.run(TransportShardReplicationOperationAction.java:278)  
> 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:619)  
> Caused by: java.lang.NumberFormatException: For input string: "string  
> value"  
> at  
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:  
> 48)  
> at java.lang.Long.parseLong(Long.java:410)  
> at java.lang.Long.parseLong(Long.java:468)  
> at
> 
> org.elasticsearch.common.xcontent.support.AbstractXContentParser.longValue(AbstractXContentParser.java:  
> 68)  
> at
> 
> org.elasticsearch.index.mapper.xcontent.XContentLongFieldMapper.parseCreateField(XContentLongFieldMapper.java:  
> 171)  
> at
> 
> org.elasticsearch.index.mapper.xcontent.XContentLongFieldMapper.parseCreateField(XContentLongFieldMapper.java:  
> 49)  
> at
> 
> org.elasticsearch.index.mapper.xcontent.XContentFieldMapper.parse(XContentFieldMapper.java:  
> 282)  
> ... 15 more
> 
> Thank you!
> 
> BR, Alex.

---

<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:** [September 21, 2010, 7:48pm UTC](https://discuss.elastic.co/t/replicationshardoperationfailedexception-when-indexing-document-with-heterogeneous-array/3351/3 "2010-09-21T19:48:55Z")

</div>

Yea, they have to be of the same type... .

On Tue, Sep 21, 2010 at 7:35 PM, Thiago Souza [tcostasouza@gmail.com](mailto:tcostasouza@gmail.com) wrote:

> Hello,
> 
> ```
> I guess this isn't supported. As far as I know, all values of an
> 
> ```
> 
> array must be of the same type.
> 
> Regards,  
> Thiago Souza
> 
> On Tue, Sep 21, 2010 at 11:11, Alex Wajda [alexander.wajda@gmail.com](mailto:alexander.wajda@gmail.com)wrote:
> 
> > Hi,
> > 
> > I'm trying to index the following JSON document with an array of  
> > values of different types:
> > 
> > $ curl -XPUT [http://localhost:9200/myidx/mytype/1](http://localhost:9200/myidx/mytype/1) -d '  
> > {  
> > id:1,  
> > heterogeneous\_array: [  
> > 123,  
> > "string value",  
> > {content: "json value"}  
> > ]  
> > }'
> > 
> > And here's what I get:
> > 
> > {"error":"ReplicationShardOperationFailedException[[myidx][0] ];  
> > nested: MapperParsingException[Failed to parse [heterogeneous\_array]];  
> > nested: NumberFormatException[For input string: "string value"]; "}
> > 
> > [16:08:35,151][INFO][cluster.metadata] [Annie Ghazikhanian]  
> > [myidx] creating index, cause [auto(index api)], shards [5]/[1],  
> > mappings   
> > [16:08:35,710][DEBUG][action.index] [Annie Ghazikhanian]  
> > [myidx][0], node[87109fd6-40f4-4143-8ab2-062505eb5302], [P],  
> > s[STARTED]: Failed to execute [[myidx][mytype][1], source[  
> > {  
> > id:1,  
> > heterogeneous\_array: [  
> > 123,  
> > "string value",  
> > {content: "json value"}  
> > ]  
> > }]]  
> > org.elasticsearch.index.mapper.MapperParsingException: Failed to parse  
> > [heterogeneous\_array]  
> > at
> > 
> > org.elasticsearch.index.mapper.xcontent.XContentFieldMapper.parse(XContentFieldMapper.java:  
> > 293)  
> > at
> > 
> > org.elasticsearch.index.mapper.xcontent.XContentObjectMapper.serializeValue(XContentObjectMapper.java:  
> > 405)  
> > at
> > 
> > org.elasticsearch.index.mapper.xcontent.XContentObjectMapper.serializeArray(XContentObjectMapper.java:  
> > 397)  
> > at
> > 
> > org.elasticsearch.index.mapper.xcontent.XContentObjectMapper.parse(XContentObjectMapper.java:  
> > 330)  
> > at
> > 
> > org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:  
> > 336)  
> > at
> > 
> > org.elasticsearch.index.mapper.xcontent.XContentDocumentMapper.parse(XContentDocumentMapper.java:  
> > 288)  
> > at
> > 
> > org.elasticsearch.index.shard.service.InternalIndexShard.innerIndex(InternalIndexShard.java:  
> > 233)  
> > at
> > 
> > org.elasticsearch.index.shard.service.InternalIndexShard.index(InternalIndexShard.java:  
> > 225)  
> > at
> > 
> > org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:  
> > 130)  
> > at
> > 
> > org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:  
> > 57)  
> > at
> > 
> > org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction
> > 
> > $AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:  
> > 381)  
> > at
> > 
> > org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
> > $AsyncShardOperationAction.access  
> > $400(TransportShardReplicationOperationAction.java:208)  
> > at
> > 
> > org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction  
> > $AsyncShardOperationAction  
> > $1.run(TransportShardReplicationOperationAction.java:278)  
> > 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:619)  
> > Caused by: java.lang.NumberFormatException: For input string: "string  
> > value"  
> > at  
> > java.lang.NumberFormatException.forInputString(NumberFormatException.java:  
> > 48)  
> > at java.lang.Long.parseLong(Long.java:410)  
> > at java.lang.Long.parseLong(Long.java:468)  
> > at
> > 
> > org.elasticsearch.common.xcontent.support.AbstractXContentParser.longValue(AbstractXContentParser.java:  
> > 68)  
> > at
> > 
> > org.elasticsearch.index.mapper.xcontent.XContentLongFieldMapper.parseCreateField(XContentLongFieldMapper.java:  
> > 171)  
> > at
> > 
> > org.elasticsearch.index.mapper.xcontent.XContentLongFieldMapper.parseCreateField(XContentLongFieldMapper.java:  
> > 49)  
> > at
> > 
> > org.elasticsearch.index.mapper.xcontent.XContentFieldMapper.parse(XContentFieldMapper.java:  
> > 282)  
> > ... 15 more
> > 
> > Thank you!
> > 
> > BR, Alex.

---

<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:19am UTC](https://discuss.elastic.co/t/replicationshardoperationfailedexception-when-indexing-document-with-heterogeneous-array/3351/4 "2017-07-06T04:19:09Z")

</div>


