-
Notifications
You must be signed in to change notification settings - Fork 10
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
[META] Breaking changes for 2.0 #12
Comments
I think we're missing an upgrade path around in these breaking changes since it seems like we would need to upgrade both client and server at the same time. So a 2.0 client will be required to work with OpenSearch 2.0. As an example, let's say I have a OpenSearch 1.3.2 receiving data from Java client 1.3.2, how do I upgrade to OpenSearch 2.0 without downtime? |
From my understanding, for a cluster for 1.3.2 to move to 2.0, when the nodes are upgraded one by one, we can still use the older client version 1.3.2 since the cluster manager is still on an older version 1.3.2 and when the last node (cluster manager) is upgraded to 2.0, thats when we would need to upgrade the client to 2.0. @saratvemulapalli LMK if I am missing something here. |
Would that work without downtime for those that build out separate clusters and roll over traffic, such as blue/green type deployments in Amazon Managed OpenSearch? |
@dblock trying to understand your question. |
I am trying to understand the nature of the breaking changes. As it stands today, if I use a 1.x client to communicate with OpenSearch 2.0, what happens? What about the reverse where I use a 2.x client to communicate with OpenSearch 1.x? |
I am saying that there will be downtime because both clients and server will beed to be upgraded, and asking whether that's actually expected? |
Both of these just won't work. |
@dblock , Clients and servers is that users should not have to change both the server and client in unison. This can be very difficult to manage for development teams. I believe OpenSearch's goal should be: Users update to the latest client version in a major version (e.g. 1.3). They should see deprecations clearly (e.g. Java's |
@dlvenable I opened #17, does it capture what you're saying? |
Got it. As far as I understand, yes that is expected. Customers should always upgrade server first and then upgrade their clients.
A client with 2.0 can only talk to OpenSearch 2.0. Clients historically did not support new major versions. |
@saratvemulapalli did I capture this correctly as a proposal/feature request in #17? |
We are not doing version checks currently. |
Historically in ES, you were expected to upgrade your clients/tools in lockstep with even minor versions (ES doesn't use semver, so breaking changes could occur during even an especially violent sneeze). I'm not saying that's a good thing but the expectation 2.0.0 needing a new client or tool version is not out of the question. My pie-in-the-sky desire would be to have clients that could be put in 'modes' for many different versions. When I worked with Redis, some clients could work with different versions and even protocols. You could always suggest that a program depending on the client library use the latest version - so they would get all the patches and fixes along the way. |
Closing this issue as 2.0 clients are released. |
As part of OpenSearch 2.0, there are breaking changes which need to be incorporated in the clients as well. Below is a list of breaking changes with the affected API endpoints.
{type} related paths removed from
Completely removed:
include_type_name param removed from
Related OpenSearch issue: opensearch-project/OpenSearch#2480
Status
Other Deprecated changes
Inclusive naming #16
The text was updated successfully, but these errors were encountered: