- All Known Implementing Classes:
AckedBatchedClusterStateUpdateTask,AckedClusterStateUpdateTask,RepositoriesService.RegisterRepositoryTask,RepositoriesService.UnregisterRepositoryTask
public interface ClusterStateAckListener
Interface that a cluster state update task can implement to indicate that it wishes to be notified when the update has been acked by
(some subset of) the nodes in the cluster. Nodes ack a cluster state update after successfully applying the resulting state. Note that
updates which do not change the cluster state are automatically reported as acked by all nodes without checking to see whether there are
any nodes that have not already applied this state.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanmustAck(DiscoveryNode discoveryNode) Called to determine the nodes from which an acknowledgement is expected.voidCalled after all the nodes have acknowledged the cluster state update request but at least one of them failed.voidCalled if the acknowledgement timeout defined byackTimeout()expires while still waiting for acks.voidCalled once all the selected nodes have acknowledged the cluster state update request.
-
Method Details
-
mustAck
Called to determine the nodes from which an acknowledgement is expected.This method will be called multiple times to determine the set of acking nodes, so it is crucial for it to return consistent results: Given the same listener instance and the same node parameter, the method implementation should return the same result.
- Returns:
trueif and only if this task will wait for an ack from the given node.
-
onAllNodesAcked
void onAllNodesAcked()Called once all the selected nodes have acknowledged the cluster state update request. Must be very lightweight execution, since it is executed on the cluster service thread. -
onAckFailure
Called after all the nodes have acknowledged the cluster state update request but at least one of them failed. Must be very lightweight execution, since it is executed on the cluster service thread.- Parameters:
e- exception representing the failure.
-
onAckTimeout
void onAckTimeout()Called if the acknowledgement timeout defined byackTimeout()expires while still waiting for acks. -
ackTimeout
TimeValue ackTimeout()- Returns:
- acknowledgement timeout, i.e. the maximum time interval to wait for acknowledgements. Return
TimeValue.MINUS_ONEif the request should wait indefinitely for acknowledgements.
-