Downgrade vs Rollback

Is it possible to rollback a partial upgrade of a cluster? For example, if only 1 node has been upgraded, and the cluster still reports the old version.

When I attempt to do this, the rolled back node will not start and I see the following message in the logs:

java.lang.IllegalStateException: cannot downgrade a node from version [2.19.2] to version [2.18.0] at org.opensearch.env.NodeMetadata.upgradeToCurrentVersion(NodeMetadata.java:107)

My understanding is downgrades are not possible once the cluster is upgraded but is a rollback possible if the cluster has not fully upgraded yet?

Versions: OpenSearch v2.18.0 and v2.19.2

@smth As far as I’m aware, restoring snapshots of the previous version is the only way for rollback/downgrade.

Once the data node is upgraded, there is no mechanism to revert that process except snapshot.

What’s the reason for the rollback? Is there any problem with your upgrade?

Thanks for your reponse @pablo! I’m working on an operator and trying to understand the expected behaviour in this scenario. But it sounds like neither rollbacks nor downgrades are possible without restoring from a snapshot. Thank you for clarifying!