Class ShardsLimitAllocationDecider

java.lang.Object
org.elasticsearch.cluster.routing.allocation.decider.AllocationDecider
org.elasticsearch.cluster.routing.allocation.decider.ShardsLimitAllocationDecider

public class ShardsLimitAllocationDecider extends AllocationDecider
This AllocationDecider limits the number of shards per node on a per index or node-wide basis. The allocator prevents a single node to hold more than index.routing.allocation.total_shards_per_node per index and cluster.routing.allocation.total_shards_per_node globally during the allocation process. The limits of this decider can be changed in real-time via a the index settings API.

If index.routing.allocation.total_shards_per_node is reset to a negative value shards per index are unlimited per node. Shards currently in the relocating state are ignored by this AllocationDecider until the shard changed its state to either started, inializing or unassigned

Note: Reducing the number of shards per node via the index update API can trigger relocation and significant additional load on the clusters nodes.