OpenSearch
OpenSearch copied to clipboard
[RW Separation] Add Allocation filter based on shard type.
With https://github.com/opensearch-project/OpenSearch/issues/15368 we introduce changes for a new shardRouting property "searchOnly" to mark search only replica shards. Now we need to add logic to optionally allocate these shards to separate hardware.
Existing FilterAllocationDecider logic allows us to control at an index or cluster level which nodes should be allocated shards. However, these do not take into account the type of shard.
What I'm thinking is an exclusive include setting. Ex:
cluster.routing.allocation.search.replica.exclusive.include._id: "node1,node2"
This will:
- allow search shards to allocate to a node that contains at least one of the defined attributes.
- reject non search shards from allocating to a node that contains at least one of the defined attributes.
"exclusive include" sounds like an oxymoron...
what about cluster.routing.allocation.search.replica.dedicated.include