- Notifications
You must be signed in to change notification settings - Fork 275
Closed
Labels
Description
Java API client version
8.14.3
Java version
17
Elasticsearch Version
8.14.3
Problem description
Running a request for getting indices from aliases throws an UnexpectedJsonEventException when some aliases do not exist, but some do.
co.elastic.clients.transport.TransportException: node: <node name> [es/indices.get_alias] Failed to decode error response, check exception cause for additional details
Exception cause:
co.elastic.clients.json.UnexpectedJsonEventException: Unexpected JSON event 'START_OBJECT' instead of 'KEY_NAME'
To reproduce, create an index test_index
with an alias test
and an index test_index2
without an alias, then using the java client run:
esClient.indices() .getAlias(a -> a.name(List.of("test", "test2")) .allowNoIndices(true) .ignoreUnavailable(true) .expandWildcards(ExpandWildcard.Open)) .result()
The intended behavior would be to throw the following exception:
co.elastic.clients.elasticsearch._types.ElasticsearchException ErrorResponse: {"error":{"type":"http_status_404","reason":"alias [test] missing"},"status":404}
Running the same request via curl produces the following:
$ curl https://localhost:9200/_alias/test,test2?pretty { "error" : "alias [test2] missing", "status" : 404, "test_index" : { "aliases" : { "test" : { } } } }