org.elasticsearch.client.indices.IndexTemplateMetaData missing in elasticsearch-rest-high-level-client-7.10.0.jar

Hi,

org.elasticsearch.client.indices.IndexTemplateMetaData is present in elasticsearch-rest-high-level-client-7.7.0.jar:

ThinkPad-X1-Carbon-6th:~/.m2/repository$ jar tvf org/elasticsearch/client/elasticsearch-rest-high-level-client/7.7.0/elasticsearch-rest-high-level-client-7.7.0.jar | grep IndexTemplateMetaData
5470 Tue May 12 02:01:12 PDT 2020 org/elasticsearch/client/indices/IndexTemplateMetaData$Builder.class
10333 Tue May 12 02:01:12 PDT 2020 org/elasticsearch/client/indices/IndexTemplateMetaData.class

but missing in 7.10.0:

ThinkPad-X1-Carbon-6th:~/.m2/repository$ jar tvf org/elasticsearch/client/elasticsearch-rest-high-level-client/7.10.0/elasticsearch-rest-high-level-client-7.10.0.jar | grep IndexTemplateMetaData

nothing is returned.

The same is true for class:

org.elasticsearch.cluster.metadata.AliasMetaData

This seems like a backward compatibility issue. Any workaround?

Thanks,
Philippe

Have you tried a newer version of the client, just to be sure it is also not working in there? Reason I am asking is, that there are no patch releases for older versions.

Yes same issue with 7.14.0:

ThinkPad-X1-Carbon-6th:~/.m2/repository$ jar tvf ./org/elasticsearch/client/elasticsearch-rest-high-level-client/7.14.0/elasticsearch-rest-high-level-client-7.14.0.jar | grep IndexTemplateMetaData
ThinkPad-X1-Carbon-6th:~/.m2/repository$

This looks like a bug that should be fixed as it breaks backward compatibility.

Thanks,
Philippe

Any update regarding this? Also could you let me know which jar/maven dependency contains the missing classes:

org.elasticsearch.client.indices.IndexTemplateMetaData
org.elasticsearch.cluster.metadata.AliasMetaData

Thanks,
Philippe

Looks like the name of the class was changed from:

IndexTemplateMetaData in 7.7.0

to

IndexTemplateMetadata in sub-subsequent releases

ThinkPad-X1-Carbon-6th:~/bin$ jar tvf ../.m2/repository/org/elasticsearch/client/elasticsearch-rest-high-level-client/7.10.0/elasticsearch-rest-high-level-client-7.10.0.jar | grep org/elasticsearch/client/indices
     0 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/
   746 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/ComponentTemplatesExistRequest.class
   589 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DeleteComponentTemplateRequest.class
  1981 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetFieldMappingsRequest.class
  7099 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DataStream.class
  2880 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetIndexRequest.class
  5812 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DetailAnalyzeResponse.class
  8771 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DataStreamsStatsResponse.class
  1093 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/IndexTemplatesExistRequest.class
  5585 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/ReloadAnalyzersResponse.class
 17455 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/PutIndexTemplateRequest.class
   256 Mon Nov 09 21:30:02 PST 2020 org/elasticsearch/client/indices/AnalyzeRequest$1.class
   764 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DeleteDataStreamRequest.class
   607 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DeleteComposableIndexTemplateRequest.class
  1409 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/FreezeIndexRequest.class
   301 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetComponentTemplatesResponse$1.class
  1120 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/SimulateIndexTemplateResponse$IndexTemplateAndPatterns.class
  3789 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetMappingsResponse.class
  5889 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/AnalyzeResponse$AnalyzeToken.class
  1415 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/UnfreezeIndexRequest.class
  6920 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetComposableIndexTemplatesResponse.class
 10333 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/IndexTemplateMetadata.class
  4135 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetIndexTemplatesResponse.class
  3844 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/CloseIndexResponse$ShardResult.class
  1311 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetIndexRequest$Feature.class
  3630 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetDataStreamResponse.class
  1632 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetMappingsRequest.class
     0 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/rollover/
  5492 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/rollover/RolloverRequest.class
  5420 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/rollover/RolloverResponse.class
   319 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetComposableIndexTemplatesResponse$1.class
  2432 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/PutComposableIndexTemplateRequest.class
   690 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DeleteAliasRequest.class
  6284 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetFieldMappingsResponse.class
  7874 Mon Nov 09 21:30:02 PST 2020 org/elasticsearch/client/indices/AnalyzeRequest.class
  1638 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/SimulateIndexTemplateRequest.class
  1893 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetComposableIndexTemplateRequest.class
  2128 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/CloseIndexRequest.class
  6842 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetComponentTemplatesResponse.class
 12081 Mon Nov 09 21:30:04 PST 2020 org/elasticsearch/client/indices/CreateIndexRequest.class
  4244 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/ResizeResponse.class
  7255 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/CloseIndexResponse$IndexResult.class
  1262 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetComposableIndexTemplatesResponse$NamedIndexTemplate.class
  3599 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetIndexTemplatesRequest.class
  4088 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/AnalyzeResponse.class
   582 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetDataStreamRequest.class
  4855 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DetailAnalyzeResponse$AnalyzeTokenList.class
  1736 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetIndexResponse$IndexEntry.class
  1218 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetComponentTemplatesResponse$NamedComponentTemplate.class
  3838 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DetailAnalyzeResponse$CharFilteredText.class
  2382 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/PutComponentTemplateRequest.class
  2527 Mon Nov 09 21:30:02 PST 2020 org/elasticsearch/client/indices/AnalyzeRequest$NameOrDefinition.class
  1143 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/ReloadAnalyzersRequest.class
   757 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/ComposableIndexTemplateExistRequest.class
   587 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DataStreamsStatsRequest.class
  6157 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetFieldMappingsResponse$FieldMappingMetadata.class
  2587 Mon Nov 09 21:30:02 PST 2020 org/elasticsearch/client/indices/AnalyzeRequest$CustomAnalyzerBuilder.class
  4108 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/CreateIndexResponse.class
  8935 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetIndexResponse.class
  1878 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/GetComponentTemplatesRequest.class
   764 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/CreateDataStreamRequest.class
  5470 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/IndexTemplateMetadata$Builder.class
  2819 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/CloseIndexResponse$ShardResult$Failure.class
  2661 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/DataStreamsStatsResponse$DataStreamStats.class
  5059 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/PutMappingRequest.class
  5357 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/ResizeRequest.class
  6511 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/SimulateIndexTemplateResponse.class
  5388 Mon Nov 09 21:30:06 PST 2020 org/elasticsearch/client/indices/CloseIndexResponse.class

Same thing also happened to org/elasticsearch/cluster/metadata/AliasMetadata.class

in 7.7.0 it is AliasMetaData and in subsequent releases it is AliasMetadata

Looks like some of the Constructors were also removed since 7.7.0. For instance:

error: no suitable constructor found for TermsAggregationBuilder(String,ValueType)
[ERROR] constructor TermsAggregationBuilder.TermsAggregationBuilder(String) is not applicable
[ERROR] (actual and formal argument lists differ in length)
[ERROR] constructor TermsAggregationBuilder.TermsAggregationBuilder(TermsAggregationBuilder,Builder,Map<String,Object>) is not applicable
[ERROR] (actual and formal argument lists differ in length)
[ERROR] constructor TermsAggregationBuilder.TermsAggregationBuilder(StreamInput) is not applicable
[ERROR] (actual and formal argument lists differ in length)