Class BatchedRerouteService
- java.lang.Object
-
- org.elasticsearch.cluster.routing.BatchedRerouteService
-
- All Implemented Interfaces:
RerouteService
public class BatchedRerouteService extends java.lang.Object implements RerouteService
ABatchedRerouteServiceis aRerouteServicethat batches together reroute requests to avoid unnecessary extra reroutes. This component only does meaningful work on the elected master node. Reroute requests will fail with aNotMasterExceptionon other nodes.
-
-
Constructor Summary
Constructors Constructor Description BatchedRerouteService(ClusterService clusterService, java.util.function.BiFunction<ClusterState,java.lang.String,ClusterState> reroute)
-
Method Summary
Modifier and Type Method Description voidreroute(java.lang.String reason, Priority priority, ActionListener<java.lang.Void> listener)Initiates a reroute.
-
-
-
Constructor Detail
-
BatchedRerouteService
public BatchedRerouteService(ClusterService clusterService, java.util.function.BiFunction<ClusterState,java.lang.String,ClusterState> reroute)
- Parameters:
reroute- Function that computes the updated cluster state after it has been rerouted.
-
-
Method Detail
-
reroute
public final void reroute(java.lang.String reason, Priority priority, ActionListener<java.lang.Void> listener)Initiates a reroute.- Specified by:
reroutein interfaceRerouteServicepriority- the (minimum) priority at which to run this reroute. If there is already a pending reroute at a higher priority then this reroute is batched with the pending one; if there is already a pending reroute at a lower priority then the priority of the pending batch is raised to the given priority.
-
-