Will ElasticSearch high-level rest java client be always forward compatible?

Just came across the following post:

It mentions that 6.x high level rest java client will work with cluster running 7.x, as forward compatibility is guaranteed. However, I want to double confirm that if, for future release, will 7.x high level rest java client work for cluster running 8.x?

We are doing upgrade from 6.x to 7.x, and will need to do a shadow testing on the cluster running 7.x, while keeping 6.x client. We confirmed that 6.x client works for 7.x cluster, but not sure about future releases.

Thanks for the reply!

Broadly, yes, a 6.x REST client will work against a 7.x cluster as long as you are not using any deprecated features. The simplest way to tell this is to run your 6.x client against the latest 6.x release, since this will have the most up-to-date deprecation logging to warn you about any deprecated features you're using. If your usage is deprecation-clean according to the latest 6.x release then it should continue to work against a 7.x cluster. The same will be true of a 7.x client running against an 8.x cluster.

This is (sort of) documented here:

The client should always be updated last, once all of the nodes in the cluster have been upgraded to the new major version.

There are plans afoot to make it even easier to upgrade to 8.x.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.