Closed
Description
Java API client version
8.2.0
Java version
17.0.2
Elasticsearch Version
8.2.0
Problem description
Prerequisites
Create a component template in the Elasticsearch cluster with the name "my-component-template".
client.cluster().putComponentTemplate {
it.name("my-component-template")
it.version(0L)
it.template { tmpl ->
tmpl.settings { settings ->
settings.lifecycle { lifecycle ->
lifecycle.name("my-ilm-policy")
}
}
}
it
}
Execution
Execute the following snippet with an Elasticsearch Client connected to the cluster.
GetComponentTemplateResponse rsp = client.cluster().getComponentTemplate { it.name("my-component-template") }
Expected Result
The variable rsp
contains the information about "my-component-template".
Current Result
The Execution failes with an Exception:
Error deserializing co.elastic.clients.elasticsearch.cluster.ComponentTemplateNode: co.elastic.clients.util.MissingRequiredPropertyException: Missing required property 'ComponentTemplateSummary.settings' (JSON path: component_templates[0].component_template.template) (line no=1, column no=2026, offset=-1)
co.elastic.clients.json.JsonpMappingException: Error deserializing co.elastic.clients.elasticsearch.cluster.ComponentTemplateNode: co.elastic.clients.util.MissingRequiredPropertyException: Missing required property 'ComponentTemplateSummary.settings' (JSON path: component_templates[0].component_template.template) (line no=1, column no=2026, offset=-1)
at app//co.elastic.clients.json.JsonpMappingException.from0(JsonpMappingException.java:134)
at app//co.elastic.clients.json.JsonpMappingException.from(JsonpMappingException.java:121)
at app//co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:206)
at app//co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:136)
at app//co.elastic.clients.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:75)
at app//co.elastic.clients.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:79)
at app//co.elastic.clients.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:43)
at app//co.elastic.clients.json.ObjectDeserializer$FieldObjectDeserializer.deserialize(ObjectDeserializer.java:71)
at app//co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:180)
at app//co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:136)
at app//co.elastic.clients.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:85)
at app//co.elastic.clients.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:48)
at app//co.elastic.clients.json.JsonpDeserializerBase$ArrayDeserializer.deserialize(JsonpDeserializerBase.java:316)
at app//co.elastic.clients.json.JsonpDeserializerBase$ArrayDeserializer.deserialize(JsonpDeserializerBase.java:280)
at app//co.elastic.clients.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:75)
at app//co.elastic.clients.json.ObjectDeserializer$FieldObjectDeserializer.deserialize(ObjectDeserializer.java:71)
at app//co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:180)
at app//co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:136)
at app//co.elastic.clients.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:75)
at app//co.elastic.clients.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:79)
at app//co.elastic.clients.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:43)
at app//co.elastic.clients.transport.rest_client.RestClientTransport.decodeResponse(RestClientTransport.java:328)
at app//co.elastic.clients.transport.rest_client.RestClientTransport.getHighLevelResponse(RestClientTransport.java:294)
at app//co.elastic.clients.transport.rest_client.RestClientTransport.performRequest(RestClientTransport.java:147)
at app//co.elastic.clients.elasticsearch.cluster.ElasticsearchClusterClient.getComponentTemplate(ElasticsearchClusterClient.java:239)
at app//co.elastic.clients.elasticsearch.cluster.ElasticsearchClusterClient.getComponentTemplate(ElasticsearchClusterClient.java:256)
... 1 more
Caused by: co.elastic.clients.util.MissingRequiredPropertyException: Missing required property 'ComponentTemplateSummary.settings'
at app//co.elastic.clients.util.ApiTypeHelper.requireNonNull(ApiTypeHelper.java:76)
at app//co.elastic.clients.util.ApiTypeHelper.unmodifiableRequired(ApiTypeHelper.java:194)
at app//co.elastic.clients.elasticsearch.cluster.ComponentTemplateSummary.<init>(ComponentTemplateSummary.java:75)
at app//co.elastic.clients.elasticsearch.cluster.ComponentTemplateSummary.<init>(ComponentTemplateSummary.java:56)
at app//co.elastic.clients.elasticsearch.cluster.ComponentTemplateSummary$Builder.build(ComponentTemplateSummary.java:317)
at app//co.elastic.clients.elasticsearch.cluster.ComponentTemplateSummary$Builder.build(ComponentTemplateSummary.java:185)
at app//co.elastic.clients.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:80)
at app//co.elastic.clients.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:43)
at app//co.elastic.clients.json.ObjectDeserializer$FieldObjectDeserializer.deserialize(ObjectDeserializer.java:71)
at app//co.elastic.clients.json.ObjectDeserializer.deserialize(ObjectDeserializer.java:180)
... 24 more