OpenSearch icon indicating copy to clipboard operation
OpenSearch copied to clipboard

[RW Separation] Add Allocation filter based on shard type.

Open mch2 opened this issue 1 year ago • 2 comments

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:

  1. allow search shards to allocate to a node that contains at least one of the defined attributes.
  2. reject non search shards from allocating to a node that contains at least one of the defined attributes.

mch2 avatar Aug 27 '24 16:08 mch2

"exclusive include" sounds like an oxymoron...

andrross avatar Aug 27 '24 19:08 andrross

what about cluster.routing.allocation.search.replica.dedicated.include

mch2 avatar Aug 27 '24 20:08 mch2