Provide an option to only assign shards to nodes that already have them as part of allocation #9425
Labels
discuss
:Distributed/Distributed
A catch all label for anything in the Distributed Area. If you aren't sure, use this one.
Consider the following repro:
It will be helpful to provide an additional option to
cluster.routing.allocation.enable
so that it will only assign shards to nodes that already have them to prevent it from performing unnecessary allocation of a shard to a different node as part of rolling restarts. While increasing cluster.routing.allocation.node_concurrent_recoveries (from the default of 2) is a potential workaround for small deployments, it is not a viable solution for deployments with a large # of shards on each node due to its potential network and i/o implications. For example, we can add anexisting
option to cluster.routing.allocation.enable that also works in conjunction with settings like new_primaries (eg. "existing,new_primaries”).The text was updated successfully, but these errors were encountered: