-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[BUG] Setting cluster.routing.allocation.exclude
only works if you specify a single value
#13534
Comments
I'm also realizing that the behavior appears very similar to #1716 in terms of overriding all existing exclusion attributes. Not sure if its a regression or not though. |
[Triage - attendees 1 2 3 4] |
I did try both (list and comma separated), and the setting was accepted successfully using the comma separated, however, if more than one value is set it seems to disable the setting (as if it was never set). Also setting the setting removes all existing values which only allows you to exclude a single node at a time. I will retest to be extra sure |
Here is what i observe: excluding a single node does work:
BUT setting
Attempting to set both does not work:
(same as the above allocation output)
So it does appear opensearch ignores the setting if more than one value is present and behaves as if it is not set even though it is indeed set. Let me know if you have any questions. |
Any updates/thoughts on this? |
@shwetathareja Maybe you know how this works? |
@drewmiranda-gl : comma separated values should work. After applying
Can please run _cluster/allocation for a particular shardId (you can pick any shard) which is assigned to opsrch2 and share the output here. May be there is no other eligible node in the cluster for those shards to be assigned. Do you have zone awareness enabled? Another thing you can try is bounce the opensearch process on "opsrch2" node and see if shards are still getting assigned to this node. |
I went back to retest this and am now unable to reproduce. I did accidentally nuke 2 of my VMs (opsrch2, 4) and its possible something changed or is different now that i have rebuilt them. I also realize that i may have had forced zone allocation awareness enabled causing issues as well:
Given i can not reproduce this any longer and likely caused by some other configurations i had in the lab, i will close this comment. Thanks. 🙏 |
Describe the bug
When using
cluster.routing.allocation.exclude
, for examplecluster.routing.allocation.exclude._name
to exclude an OpenSearch node from allocating shards, it will only function if a single item is set. If more than one item is set the setting has no effect and all shards are rebalanced as if the setting is not set at all.I can verify the setting is set successful by viewing
_cluster/settings
but OpenSearch ignores this if it contains more than one value.Related component
Other
To Reproduce
Testing with 5 OpenSearch nodes:
There are many existing indices, all of which are balanced evenly across all nodes:
When i exclude
opsrch2
viaI do see all shards deallocate from this node. If I change
"opsrch2"
to a list, e.g.["opsrch2"]
, even if it has a single entry, the setting is completely ignored and shards are rebalanced across all nodes.Expected behavior
cluster.routing.allocation.exclude.
allows specifying more than a single node.Additional Details
Plugins
Vanillia, out of box, default
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):
I do have zone allocation awareness set and zone allocation forced.
zoneA: (odd numbered nodes) opsrch1, opsrch3, opsrch5
zoneB: (even numbered nodes) opsrch2, opsrch4
The text was updated successfully, but these errors were encountered: