opensearch-project / opensearch-java

Java Client for OpenSearch
Apache License 2.0
117 stars 182 forks source link

[BUG] Compatibility of opensearch-java:2.12 client with 1.x OpenSearch, specific 1.3.2 #1108

Open phuc98ute opened 1 month ago

phuc98ute commented 1 month ago

What is the bug?

When migrating the OpenSearch cluster from 1.3.2 to the latest AWS OpenSearch version 2.13, I struggled to find a proper opensearch-java client version to work for both OpenSearch cluster 1.3.2 and version 2.13. I have multiple OpenSearch clusters on production running at version 1.3.2, and they cannot upgrade the version simultaneously. Based on the COMPATIBILITY here, the current opensearch-java client 2.12 just support from OpenSearch 1.3.13-2.x. I found in your integration-test here, I found tests with OpenSearch 1.0.1, 1.1.0, 1.2.4 and test are pass. Why does the document indicate that the compatibility version for opensearch-java library requires newer than 1.3.13? We are unable to process the upgrade on production in case your document mentions that our OpenSearch version 1.3.2 is out of the supported version.

How can one reproduce the bug?

No steps to reproduce

What is the expected behavior?

A compatibility client version works well for both AWS OpenSearch 1.3.2 and the latest version 2.13

What is your host/environment?

AWS OpenSearch 1.3.2, AWS OpenSearch 2.13

Do you have any screenshots?

No

Do you have any additional context?

No

dblock commented 1 month ago

I think the reason for this is purely because only the latest 1.x OpenSearch is officially supported. The doc in https://opensearch.org/releases.html says "The last minor version of the previous major version of the software will then enter a maintenance window (e.g., 1.3.x). During the maintenance window, the software will continue to receive bug fixes and security patches, but no new features."

It allows us to keep the test matrix smaller if needed, but we don't on purpose break compatibility with the entire 1.x line.

I think if you have tested the migration, you're all good! Do you need the words in the docs to say different things? Is there something we can add there short of "supported"? Would you like to suggest some language in a PR?

We'd also appreciate an update to the CI to the latest 1.3.x to confirm they pass.