Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
Tracked by #15306
mch2 opened this issue Aug 27, 2024 · 2 comments · Fixed by #15455
Closed
Tracked by #15306

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

mch2 opened this issue Aug 27, 2024 · 2 comments · Fixed by #15455
Assignees

Comments

@mch2
Copy link
Member

mch2 commented Aug 27, 2024

With #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 mch2 changed the title Add Allocation filter based on shard type. (Enables node lvl read/write isolation) [RW Separation] Add Allocation filter based on shard type. (Enables node lvl read/write isolation) Aug 27, 2024
@mch2 mch2 changed the title [RW Separation] Add Allocation filter based on shard type. (Enables node lvl read/write isolation) [RW Separation] Add Allocation filter based on shard type. Aug 27, 2024
@andrross
Copy link
Member

"exclusive include" sounds like an oxymoron...

@mch2
Copy link
Member Author

mch2 commented Aug 27, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
2 participants