- Notifications
You must be signed in to change notification settings - Fork 276
Closed
Labels
Area: SpecificationRelated to the API spec used to generate client codeRelated to the API spec used to generate client code
Description
Java API client version
7.16.2
Java version
java 11.0.14 2022-01-18 LTS
Elasticsearch Version
7.16.2
Problem description
code:
RecoveryResponse response = client .indices() .recovery(r -> r .index(indexNames)); response.result().values();
Error:
Caused by: co.elastic.clients.util.MissingRequiredPropertyException: Missing required property 'ShardRecovery.stopTimeInMillis' at co.elastic.clients.util.ApiTypeHelper.requireNonNull(ApiTypeHelper.java:76) at co.elastic.clients.elasticsearch.indices.recovery.ShardRecovery.<init>(ShardRecovery.java:102) at co.elastic.clients.elasticsearch.indices.recovery.ShardRecovery.<init>(ShardRecovery.java:52) at co.elastic.clients.elasticsearch.indices.recovery.ShardRecovery$Builder.build(ShardRecovery.java:523) at co.elastic.clients.elasticsearch.indices.recovery.ShardRecovery$Builder.build(ShardRecovery.java:307) 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:320) at co.elastic.clients.json.JsonpDeserializerBase$ArrayDeserializer.deserialize(JsonpDeserializerBase.java:285) at co.elastic.clients.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:75) at co.elastic.clients.json.ObjectDeserializer$FieldObjectDeserializer.deserialize(ObjectDeserializer.java:72) at co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:176) at co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:137) 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.endpoints.DictionaryResponse.lambda$setupDictionaryResponseDeserializer$0(DictionaryResponse.java:148) at co.elastic.clients.json.ObjectDeserializer.parseUnknownField(ObjectDeserializer.java:205) at co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:174) at co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:137) 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:325) at co.elastic.clients.transport.rest_client.RestClientTransport.getHighLevelResponse(RestClientTransport.java:291) at co.elastic.clients.transport.rest_client.RestClientTransport.performRequest(RestClientTransport.java:144) at co.elastic.clients.elasticsearch.indices.ElasticsearchIndicesClient.recovery(ElasticsearchIndicesClient.java:1619) at co.elastic.clients.elasticsearch.indices.ElasticsearchIndicesClient.recovery(ElasticsearchIndicesClient.java:1635)
Notes
Spec shows ShardRecovery.stop_time_in_millis
to be mandatory. (https://github.com/elastic/elasticsearch-specification/blob/main/specification/indices/recovery/types.ts#L120)
And that is how it is implemented:
Line 103 in 11a52ea
this.stopTimeInMillis = ApiTypeHelper.requireNonNull(builder.stopTimeInMillis, this, "stopTimeInMillis"); |
However ES server v7.16.2 does not include the field. It might be because the restore was in progress.
cc: @fabriziofortino
Metadata
Metadata
Assignees
Labels
Area: SpecificationRelated to the API spec used to generate client codeRelated to the API spec used to generate client code