victor
September 11, 2024, 8:26am
1
Versions (relevant - OpenSearch/Dashboard/Server OS/Browser):
OpenSearch 2.16
Describe the issue :
I was looking into changing our cluster to use segment replication, as it’s intended for log analytics. But i noticed that in this blog post , at the end, it says the following:
Rolling upgrades are not yet supported. Upgrading to new versions of OpenSearch requires a full cluster restart.
Is this still the case? I can’t find anything on this matter in the official documentation.
Thanks
pablo
September 30, 2024, 11:19pm
2
@victor As per OpenSearch 2.8 release notes and OpenSearch GitHub, segment replication supports mixed cluster versions.
# OpenSearch and OpenSearch Dashboards 2.8.0 Release Notes
## Release Highlights
OpenSearch 2.8.0 includes several new features and enhancements for your OpenSearch workloads. This release delivers new capabilities for observability, search, index management, and more, as well as updates to recently introduced features like segment replication and searchable snapshots. New experimental functionality brings search pipelines to OpenSearch for the first time.
### New Features
* You can now query data across your OpenSearch clusters using PPL. Cross-cluster support for PPL queries lets you query data from any index or cluster across your domain boundaries from a single interface.
* Common index management operations such as refresh, flush, and clear cache can now be applied from the index management user interface.
* Some index operations, like reindex, split, or shrink, can take a long time to complete. Now, you can set up automatic notifications to inform you when long-running index operations are finished.
* Segment replication adds support for mixed cluster versions, simplifying upgrades to a new version of OpenSearch.
* You now have the option to set segment replication as the default index replication strategy.
* The searchable snapshots feature now defaults to the primary shard when querying indexes for better query latency.
* OpenSearch Dashboards now supports versions 14, 16, and 18 of Node.js, so you can choose which of these versions you wish to use with the application.
* The k-nearest neighbors (k-NN) functionality is updated with optimizations for native memory allocations, offering stability improvements for large workloads.
* Multiple data sources functionality gains support for Amazon OpenSearch Serverless with the SigV4 authorization type.
### Experimental Features
OpenSearch 2.8.0 introduces a new experimental feature. Experimental features are disabled by default. For instructions on how to enable them, refer to the documentation for the feature.
This file has been truncated. show original
opened 02:23PM - 13 Jul 22 UTC
closed 05:57PM - 31 Aug 23 UTC
enhancement
discuss
>breaking
distributed framework
v2.8.0
Indexing:Replication
**Is your feature request related to a problem? Please describe.**
Once we enab… le [segment based replication](https://github.com/opensearch-project/OpenSearch/issues/2229) for an index, we would need to solve version upgrades leading to mixed version clusters.
We can have an index with primary on OS 3.x whose replica might be on OS 4.x this itself is not a problem since next major versions have Lucene wire compatibility with their previous major version. At some point during the upgrade process its possible that the primary moves to OS 4.x whose replica sits on OS 3.x. Now when segrep tries to replicate segments to a replica sitting on host with lower version the replica would fail to identify segment as it might be created on a higher Lucene version which it probably doesn't know.
**During a rolling upgrade, primary shards assigned to a node running the new version cannot have their replicas on the old version.**
This is not a problem in document based replication as segments are independently created on both version nodes and lets say a replica fails on older version, it cannot be assigned on node which has a lower version than its primary, neither can shards move from a higher version node to a lower version node
**Describe the solution you'd like**
We should support mixed version cluster with segrep. One way to achieve it is to create segments on a lower version even on nodes with higher version while the upgrade is in-progress i.e cluster should operate in a BWC mode.
**Describe alternatives you've considered**
Segregate ALL primaries on one set replicas on a different set of nodes. Upgrade the set of nodes hosting replica and then upgrade the set of nodes hosting primary. However this can cause primary only nodes to be overloaded in a homogeneous cluster setup.
**Additional context**
Add any other context or screenshots about the feature request here.