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

Compatibility Upgrade while using NEST #4967

Closed
schmitch opened this issue Aug 19, 2020 · 1 comment
Closed

Compatibility Upgrade while using NEST #4967

schmitch opened this issue Aug 19, 2020 · 1 comment

Comments

@schmitch
Copy link

Is your feature request related to a problem? Please describe.

Hello, we are a big NEST user, however since NEST only has a compatibility between a single ElasticSearch version we do wonder how to safely upgrade our ElasticSearch cluster and NEST.

Currently it's more like a doc question on how to do things or a wish for better compat for NEST.
What exactly would be the solution to upgrade ElasticSearch while using NEST?
Our steps would be:

  1. upgrade ElasticSearch 6.8 to 7.X via rolling upgrade
  2. hope that NEST 6.8 somehow works against 7.X? (it doesn't)
  3. upgrade NEST to 7.X
  4. reindex the ElasticSearch index

however since NEST 6.8 does not work against 7.X how exactly would a upgrade look alike? is it better to upgrade NEST to 7 and use against ElasticSearch 6.8?

Describe the solution you'd like

Better Compatibility or at least some guide on how to upgrade ElasticSearch with NEST.

@russcam
Copy link
Contributor

russcam commented Aug 24, 2020

Hi @schmitch

It's somewhat of a chicken and egg scenario at the moment; the client major versions implement changes in line with changes to the Elasticsearch REST API layer in major versions. We've had previous discussions about maintaining some form of compatibility in the client, but have erred on not doing so. There are plans to have a better major version compatibility story in going from 7.x to 8.x and beyond, so it is something we're actively looking at improving going forward.

Have you seen the blog post about using our CI versioned packages in conjunction with the nuget released package, to allow you to upgrade the cluster?. In using the versioned packages, you can use two different versions of the client within the same application, to allow you to update the application first, and then the cluster. You would likely need to

  1. Write some wrapper/adapter around them as the types will be different in versioned packages compared to the nuget package.
  2. Have some way of switching the application over from using 6x to 7x e.g. App config setting
  3. Removing the adapter and old version once Elasticsearch is upgraded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants