Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] When to retire the serialization backward compat code for OpenSearch 2.11/2.12/2.13 #5200

Open
nibix opened this issue Mar 22, 2025 · 3 comments
Labels
triaged Issues labeled as 'Triaged' have been reviewed and are deemed actionable.

Comments

@nibix
Copy link
Collaborator

nibix commented Mar 22, 2025

In OpenSearch 2.11, a custom serialization mechanism for User objects and other serialized info was introduced. Due to unforeseen issues, it had to be rolled back in OpenSearch 2.14. See #4264 for the change that did the rollback. See #4670 for an example of the issues caused by 2.11/2.12/2.13 .

There is still compatibility code which allows mixed clusters with OpenSearch versions 2.11/2.12/2.13 to co-exist with nodes with newer nodes.

My question is: When can we remove this compatibility mode?

In other words: Which OpenSearch version shall be no longer mixable with 2.11/2.12/2.13? Is it OpenSearch 3?

@github-actions github-actions bot added the untriaged Require the attention of the repository maintainers and may need to be prioritized label Mar 22, 2025
@nibix
Copy link
Collaborator Author

nibix commented Mar 22, 2025

Background: This is related to the "Immutable user object" effort #5168 and intended to make the logic and the code more simple.

@cwperks
Copy link
Member

cwperks commented Mar 24, 2025

My question is: When can we remove this compatibility mode?

It can safely be removed in 3.0.0. The upgrade path for OpenSearch requires going to the last minor version of the previous major before going to the next major version for rolling upgrades.

Its not possible to mix 2.11/2.12/2.13 nodes with 3.0.0 nodes, my understanding is that the 3.0.0 would refuse to join the cluster.

To upgrade from 2.11 -> 3.0 with rolling upgrades would require 2.11 -> 2.19 -> 3.0.0

@cwperks cwperks added triaged Issues labeled as 'Triaged' have been reviewed and are deemed actionable. and removed untriaged Require the attention of the repository maintainers and may need to be prioritized labels Mar 24, 2025
@nibix
Copy link
Collaborator Author

nibix commented Mar 24, 2025

Confirmed by executing

        System.out.println("minimumCompatibilityVersion: " + Version.V_3_0_0.minimumCompatibilityVersion());

minimumCompatibilityVersion: 2.19.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triaged Issues labeled as 'Triaged' have been reviewed and are deemed actionable.
Projects
None yet
Development

No branches or pull requests

2 participants