Upgrading from 2.9.0 to 2.17.1

Versions (relevant - OpenSearch 2.9 /Dashboard 2.9 /Server OS OLE 8):

Trying to perform rolling upgrade to 2.17.1, my plan is to first to coordinator nodes, then data nodes and then master nodes.

With coordinator nodes, I just stop 2.9 and then start 2.17, it should be able to join the cluster right? Same thing with master nodes. (assuming all the certs, other files are copied over to config)

With data nodes need to sync_flush, disable and then enable routing.

My question is, can I slowly upgrade this? Meaning upgrade my coordinator nodes one day, upgrade my data nodes in a few days, then my master nodes. Will this version variance cause problems?

Thanks in advance

@stecino great question and there are a couple of things to bare in mind when performing rolling upgrade, see below:

  1. The sequence should be:
  • Coordinator nodes first
  • Data nodes next
  • Cluster manager (master) nodes last

Cluster manager nodes should be last because OpenSearch nodes can join a cluster with manager nodes running an older version, but they cannot join a cluster with all manager nodes running a newer version, further details can be found in docs.

  1. Doing rolling upgrade over a number of days is supported, however it is recommended to stop any non-essential indexing, as resources are consumed by shards moving around. Therefore overall its best to stop the indexing, upgrade, and then continue ingesting data if possible.

  2. POST /_flush/synced was deprecated on 2.x, see breaking changes here
    You can use POST /_flush, this is an optional but recommended step.

Hope this helps

@Anthony thanks for the reply. That’s weird, I have always ran /_flush/synced and did produced output :slight_smile:
I will do /_flush

Unfortunately I don’t have caching mechanism like Kafka tied into the ingestion pipeline, so I can’t afford down the pipeline. Will have to take performance hit while I do this.

Because of the nature of the Coordinator nodes, I should be able to go back to 2.9 version for whatever reason, before data/master nodes have been upgraded. Correct?

@stecino I don’t follow your last question, regarding going back to 2.9 version for coordinating nodes, can you elaborate please?