So I am playing around with shard allocation awareness. I currently have three nodes. For two of them I have a rack_id attribute set to rack_1. And third node don't has this attribute. Now for my index I have 10 shard with 2 replicas, i.e. total of 30 shards. So without any shard allocation awareness it allocates 10 shards on each node. Now when I use cluster update settings API to dynamically set ''cluster.routing.allocation.awareness.attributes : rack_id", according to documentation expected behavior is to not assign any shards on node 3 (with no rack_id attribute). But when I check my shards they are still allocated to all nodes evenly. Then I searched and found about the Explain API. And using that on one of shards allocated to node3, it says {"can_remain_on_current_node":"no", can_remain_decisions":[{"decider":"awareness","decision":"NO","explanation":"node does not contain the awareness attribute [rack_id]}. So I am a bit confused here, what's going on. If its not allowed there then why is it assigned then. And if it means that it'll be unassigned after a restart of node3, then what's the point of changing settings dynamically. End goal that I want to achieve is to dynamically enable/disable shard allocation awareness. Can anyone help me here. And I am running Elasticsearch v5.2.
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.