Skip to content

Document that clients are compatible across at least 2 major versions #17

@dblock

Description

@dblock

What kind of business use case are you trying to solve? What are your requirements?

Coming from #12, clients are being upgraded to support OpenSearch 2.0 while breaking compatibility with 1.0. For example, opensearch-java 1.0 works against OpenSearch 1.x, opensearch-java 2.0 works against OpenSearch 2.x, but there's no version of client that works against both OpenSearch 1.x and 2.x. Thus, in order to upgrade from OpenSearch 1.x to 2.x one needs to either run a cluster in mixed mode for a long time, or take downtime.

With rolling upgrades:

  1. Upgrade some nodes to 2.0, cluster is now in mixed state.
  2. Upgrade all clients to 2.0 and direct trafic from these clients to 2.0 nodes.
  3. Finish upgrading the cluster to 2.0.

What is the problem? What is preventing you from meeting the requirements?

Users have to upgrade both clients and server at the same time and/or run in mixed cluster mode for a very long time. This is a lot of work, hard to coordinate, risky, etc. Most users will choose not to upgrade across major versions.

What are you proposing? What do you suggest we do to solve the problem or improve the existing situation?
Ensure that there's at least 1 version of a client that works against two major versions. For example, opensearch-java 2.0 would work against 1.x and 2.0 and deprecate all 1.x methods, and remove them in 3.0.

Describe alternatives you've considered
REST API versioning so users can specify their desired API version to ensure client compatibility is independent of server upgrades.

Other

This is tangentially related to opensearch-project/OpenSearch#3023.

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussIdentifies discussion issuesenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions