ClusterStateTaskConfig, ClusterStateTaskExecutor<ClusterStateUpdateTask>, ClusterStateTaskListenerAckedClusterStateUpdateTaskpublic abstract class ClusterStateUpdateTask extends java.lang.Object implements ClusterStateTaskConfig, ClusterStateTaskExecutor<ClusterStateUpdateTask>, ClusterStateTaskListener
ClusterStateTaskConfig.BasicClusterStateTaskExecutor.ClusterTasksResult<T>, ClusterStateTaskExecutor.TaskResult| Constructor | Description |
|---|---|
ClusterStateUpdateTask() |
|
ClusterStateUpdateTask(Priority priority) |
| Modifier and Type | Method | Description |
|---|---|---|
java.lang.String |
describeTasks(java.util.List<ClusterStateUpdateTask> tasks) |
Builds a concise description of a list of tasks (to be used in logging etc.).
|
abstract ClusterState |
execute(ClusterState currentState) |
Update the cluster state based on the current state.
|
ClusterStateTaskExecutor.ClusterTasksResult<ClusterStateUpdateTask> |
execute(ClusterState currentState,
java.util.List<ClusterStateUpdateTask> tasks) |
Update the cluster state based on the current state and the given tasks.
|
abstract void |
onFailure(java.lang.String source,
java.lang.Exception e) |
A callback called when execute fails.
|
Priority |
priority() |
The
Priority for this cluster state update task configuration. |
boolean |
runOnlyOnMaster() |
Marked as final as cluster state update tasks should only run on master.
|
TimeValue |
timeout() |
If the cluster state update task wasn't processed by the provided timeout, call
ClusterStateTaskListener.onFailure(String, Exception). |
clusterStatePublishedclusterStateProcessed, onNoLongerMasterpublic ClusterStateUpdateTask()
public ClusterStateUpdateTask(Priority priority)
public final ClusterStateTaskExecutor.ClusterTasksResult<ClusterStateUpdateTask> execute(ClusterState currentState, java.util.List<ClusterStateUpdateTask> tasks) throws java.lang.Exception
ClusterStateTaskExecutorexecute in interface ClusterStateTaskExecutor<ClusterStateUpdateTask>java.lang.Exceptionpublic java.lang.String describeTasks(java.util.List<ClusterStateUpdateTask> tasks)
ClusterStateTaskExecutorClusterStateTaskExecutor.execute(ClusterState, List).
but are guaranteed to be a subset of them. This method can be called multiple times with different lists before execution.
This allows groupd task description but the submitting source.describeTasks in interface ClusterStateTaskExecutor<ClusterStateUpdateTask>public abstract ClusterState execute(ClusterState currentState) throws java.lang.Exception
java.lang.Exceptionpublic abstract void onFailure(java.lang.String source,
java.lang.Exception e)
onFailure in interface ClusterStateTaskListener@Nullable public TimeValue timeout()
ClusterStateTaskListener.onFailure(String, Exception). May return null to indicate no timeout is needed (default).timeout in interface ClusterStateTaskConfigpublic Priority priority()
ClusterStateTaskConfigPriority for this cluster state update task configuration.priority in interface ClusterStateTaskConfigpublic final boolean runOnlyOnMaster()
LocalClusterUpdateTask instead.runOnlyOnMaster in interface ClusterStateTaskExecutor<ClusterStateUpdateTask>