Module org.elasticsearch.server
Package org.elasticsearch.cluster.routing.allocation.allocator
package org.elasticsearch.cluster.routing.allocation.allocator
-
ClassDescriptionThis event listener might be needed to delay execution of multiple distinct tasks until followup reroute is complete.The
BalancedShardsAllocator
re-balances the nodes allocations within an cluster based on aBalancedShardsAllocator.WeightFunction
.Asynchronously runs some computation using at most one thread but expects the input value changes over time as it's running.The desired balance of the cluster, indicating which nodes should hold a copy of each shard.Holds the desired balance and updates it as the cluster evolves.The input to the desired balance computation.Given the current allocation of shards and the desired balance, performs the next (legal) shard movements towards the goal.AShardsAllocator
which asynchronously refreshes the desired balance held by theDesiredBalanceComputer
and then takes steps towards the desired balance using theDesiredBalanceReconciler
.Execute an action at most once per time intervalTracks the order in which nodes are used for allocation so that we can allocate shards to nodes in a round-robin fashion (all else being equal).This class iterates all shards from all nodes in order of allocation recency.AShardsAllocator
is the main entry point for shard allocation on nodes in the cluster.