Skip to content

Commit b553605

Browse files
committed
Address comments
Signed-off-by: Sooraj Sinha <soosinha@amazon.com>
1 parent 7d42c3d commit b553605

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

_tuning-your-cluster/availability-and-recovery/remote-store/remote-cluster-state.md

+13-11
Original file line numberDiff line numberDiff line change
@@ -57,26 +57,28 @@ Setting | Default | Description
5757
`cluster.remote_store.state.index_metadata.upload_timeout` | 20s | Deprecated. Use `cluster.remote_store.state.global_metadata.upload_timeout` instead.
5858
`cluster.remote_store.state.global_metadata.upload_timeout` | 20s | The amount of time to wait for cluster state upload to complete.
5959
`cluster.remote_store.state.metadata_manifest.upload_timeout` | 20s | The amount of time to wait for the manifest file upload to complete. The manifest file contains the details of each of the files uploaded for a single cluster state, both index metadata files and global metadata files.
60-
`cluster.remote_store.state.cleanup_interval` | 300s | The interval for remote state clean-up async task to run. This task deletes the old remote state files.
60+
`cluster.remote_store.state.cleanup_interval` | 300s | The interval for remote state clean-up asynchronous task to run. This task deletes the old remote state files.
6161

6262

6363
## Limitations
6464

6565
The remote cluster state functionality has the following limitations:
6666
- Unsafe bootstrap scripts cannot be run when the remote cluster state is enabled. When a majority of cluster-manager nodes are lost and the cluster goes down, the user needs to replace any remaining cluster manager nodes and reseed the nodes in order to bootstrap a new cluster.
6767

68-
## Remote Cluster State Publication
69-
The cluster state published to remote-backed storage can be used for publication. Currently, the active cluster manager
70-
sends the cluster state object over the transport layer to the follower nodes. This flow can be changed to fetch the
71-
cluster state from remote store. This can be done by enabling the experimental remote publication feature.
68+
## Remote cluster state publication
69+
Cluster state publication via remote - When it is enabled, the updated cluster state during any updates like creation of an index and
70+
put mappings will be published via remote store, that is, the cluster manager will provide the remote location
71+
and nodes will download the cluster state directly from remote location.
72+
As the cluster state grows over time and there are large number of nodes in the cluster, publishing the state over local transport
73+
tends to add lot of overhead in terms of cpu, memory and transport threadpool. This will reduce the overhead on cluster manager node
74+
to publish the updated cluster state via remote store to every other node in the cluster instead of local transport.
75+
Remote cluster state publication can be enabled by configuring the experimental remote publication feature.
7276
Enable the feature flag for `remote_store.publication` feature by following the [experiment feature flag documentation]({{site.url}}{{site.baseurl}}/install-and-configure/configuring-opensearch/experimental/).
73-
When remote publication is enabled, the cluster manager node uploads the cluster state to remote store and then sends the
74-
remote path of the cluster state to the follower nodes. The follower nodes then download the cluster state from remote store.
7577

7678
The routing table is an object within the cluster state which contains the shard allocation details for each index.
7779
This object can become large in case of large number of shards in the cluster. Routing table is required to be stored in
78-
remote store for the remote publication to work. In order to enable remote persistence of routing table, the repository must
79-
be configured as below:
80+
remote store for the remote publication to work. In order to enable remote persistence of routing table, the following repository must
81+
be configured:
8082

8183
```yml
8284
# Remote routing table repository settings
@@ -88,10 +90,10 @@ node.attr.remote_store.repository.my-remote-routing-table-repo.settings.region:
8890
You do not have to use different remote store repositories for state and routing.
8991
These stores can share the same repository.
9092

91-
The relevant cluster settings for remote publication are listed below:
93+
The following cluster settings can be used to configure remote publication:
9294

9395
Setting | Default | Description
9496
:--- | :--- | :---
9597
`cluster.remote_store.state.read_timeout` | 20s | The amount of time to wait for remote state download to complete on the follower node.
9698
`cluster.remote_store.routing_table.path_type` | HASHED_PREFIX | Path type to be used for creating index routing path in blob store. Valid values are "FIXED", "HASHED_PREFIX", "HASHED_INFIX"
97-
`cluster.remote_store.routing_table.path_hash_algo` | FNV_1A_BASE64 | Algorithm to be used for constructing prefix or infix of blob store path. This setting comes into effect into if cluster.remote_store.routing_table.path_type is "hashed_prefix" or "hashed_infix". Valid values of algo are "FNV_1A_BASE64" or "FNV_1A_COMPOSITE_1"
99+
`cluster.remote_store.routing_table.path_hash_algo` | FNV_1A_BASE64 | Algorithm to be used for constructing prefix or infix of blob store path. This setting comes into effect into if cluster.remote_store.routing_table.path_type is "hashed_prefix" or "hashed_infix". Valid values of algorithm are "FNV_1A_BASE64" or "FNV_1A_COMPOSITE_1"

0 commit comments

Comments
 (0)