Description
Java API client version
8.4.2
Java version
17
Elasticsearch Version
8.4.2
Problem description
When doing an index request that fails because the high water mark is exceeded deserializing the response fails with the flowing stack trace:
Exception in thread "main" co.elastic.clients.json.JsonpMappingException: Error deserializing co.elastic.clients.elasticsearch._types.ShardStatistics: co.elastic.clients.util.MissingRequiredPropertyException: Missing required property 'ShardFailure.shard' (JSON path: items[0]._shards.failures[0]) (line no=1, column no=538, offset=-1) at co.elastic.clients.json.JsonpMappingException.from0(JsonpMappingException.java:134) at co.elastic.clients.json.JsonpMappingException.from(JsonpMappingException.java:125) at co.elastic.clients.json.JsonpDeserializerBase$ArrayDeserializer.deserialize(JsonpDeserializerBase.java:320) at co.elastic.clients.json.JsonpDeserializerBase$ArrayDeserializer.deserialize(JsonpDeserializerBase.java:280) at co.elastic.clients.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:75) at co.elastic.clients.json.ObjectDeserializer$FieldObjectDeserializer.deserialize(ObjectDeserializer.java:71) at co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:180) at co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:136) at co.elastic.clients.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:75) at co.elastic.clients.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:79) at co.elastic.clients.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:43) at co.elastic.clients.json.ObjectDeserializer$FieldObjectDeserializer.deserialize(ObjectDeserializer.java:71) at co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:180) at co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:136) at co.elastic.clients.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:85) at co.elastic.clients.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:48) at co.elastic.clients.json.JsonpDeserializerBase$ArrayDeserializer.deserialize(JsonpDeserializerBase.java:316) at co.elastic.clients.json.JsonpDeserializerBase$ArrayDeserializer.deserialize(JsonpDeserializerBase.java:280) at co.elastic.clients.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:75) at co.elastic.clients.json.ObjectDeserializer$FieldObjectDeserializer.deserialize(ObjectDeserializer.java:71) at co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:180) at co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:136) at co.elastic.clients.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:75) at co.elastic.clients.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:79) at co.elastic.clients.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:43) at co.elastic.clients.transport.rest_client.RestClientTransport.decodeResponse(RestClientTransport.java:328) at co.elastic.clients.transport.rest_client.RestClientTransport.getHighLevelResponse(RestClientTransport.java:294) at co.elastic.clients.transport.rest_client.RestClientTransport.performRequest(RestClientTransport.java:147) at co.elastic.clients.elasticsearch.ElasticsearchClient.bulk(ElasticsearchClient.java:317) at com.mycompany.app.App.main(App.java:81) Caused by: co.elastic.clients.util.MissingRequiredPropertyException: Missing required property 'ShardFailure.shard' at co.elastic.clients.util.ApiTypeHelper.requireNonNull(ApiTypeHelper.java:76) at co.elastic.clients.elasticsearch._types.ShardFailure.<init>(ShardFailure.java:72) at co.elastic.clients.elasticsearch._types.ShardFailure.<init>(ShardFailure.java:51) at co.elastic.clients.elasticsearch._types.ShardFailure$Builder.build(ShardFailure.java:240) at co.elastic.clients.elasticsearch._types.ShardFailure$Builder.build(ShardFailure.java:165) at co.elastic.clients.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:86) at co.elastic.clients.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:48) at co.elastic.clients.json.JsonpDeserializerBase$ArrayDeserializer.deserialize(JsonpDeserializerBase.java:316) ... 27 more
The JSON response is:
{ "took": 572, "errors": false, "items": [ { "index": { "_index": "test1663930028722", "_id": "reH2aYMBzUrdPCfWN8pV", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 1, "failed": 1, "failures": [ { "_index": "test1663930028722", "_shard": 0, "_node": "6Xmgn4-9SD-B1s0ShGZnjw", "reason": { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device" } ] } ] }, "status": "INTERNAL_SERVER_ERROR", "primary": false } ] }, "_seq_no": 99120, "_primary_term": 1, "status": 201 } }, { "index": { "_index": "test1663930028722", "_id": "ruH2aYMBzUrdPCfWN8pV", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 1, "failed": 1, "failures": [ { "_index": "test1663930028722", "_shard": 0, "_node": "6Xmgn4-9SD-B1s0ShGZnjw", "reason": { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device" } ] } ] }, "status": "INTERNAL_SERVER_ERROR", "primary": false } ] }, "_seq_no": 99121, "_primary_term": 1, "status": 201 } }, { "index": { "_index": "test1663930028722", "_id": "r-H2aYMBzUrdPCfWN8pV", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 1, "failed": 1, "failures": [ { "_index": "test1663930028722", "_shard": 0, "_node": "6Xmgn4-9SD-B1s0ShGZnjw", "reason": { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device" } ] } ] }, "status": "INTERNAL_SERVER_ERROR", "primary": false } ] }, "_seq_no": 99122, "_primary_term": 1, "status": 201 } }, { "index": { "_index": "test1663930028722", "_id": "sOH2aYMBzUrdPCfWN8pV", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 1, "failed": 1, "failures": [ { "_index": "test1663930028722", "_shard": 0, "_node": "6Xmgn4-9SD-B1s0ShGZnjw", "reason": { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device" } ] } ] }, "status": "INTERNAL_SERVER_ERROR", "primary": false } ] }, "_seq_no": 99123, "_primary_term": 1, "status": 201 } }, { "index": { "_index": "test1663930028722", "_id": "seH2aYMBzUrdPCfWN8pV", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 1, "failed": 1, "failures": [ { "_index": "test1663930028722", "_shard": 0, "_node": "6Xmgn4-9SD-B1s0ShGZnjw", "reason": { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device" } ] } ] }, "status": "INTERNAL_SERVER_ERROR", "primary": false } ] }, "_seq_no": 99124, "_primary_term": 1, "status": 201 } }, { "index": { "_index": "test1663930028722", "_id": "suH2aYMBzUrdPCfWN8pV", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 1, "failed": 1, "failures": [ { "_index": "test1663930028722", "_shard": 0, "_node": "6Xmgn4-9SD-B1s0ShGZnjw", "reason": { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device", "suppressed": [ { "type": "i_o_exception", "reason": "No space left on device" } ] } ] }, "status": "INTERNAL_SERVER_ERROR", "primary": false } ] }, "_seq_no": 99125, "_primary_term": 1, "status": 201 } } ] }