Class PersistentTasksService

java.lang.Object
org.elasticsearch.persistent.PersistentTasksService

public class PersistentTasksService
extends java.lang.Object
This service is used by persistent tasks and allocated persistent tasks to communicate changes to the master node so that the master can update the cluster state and can track of the states of the persistent tasks.
  • Field Details

    • PERSISTENT_TASK_ORIGIN

      public static final java.lang.String PERSISTENT_TASK_ORIGIN
      See Also:
      Constant Field Values
  • Constructor Details

  • Method Details

    • sendStartRequest

      public <Params extends PersistentTaskParams> void sendStartRequest​(java.lang.String taskId, java.lang.String taskName, Params taskParams, ActionListener<PersistentTasksCustomMetadata.PersistentTask<Params>> listener)
      Notifies the master node to create new persistent task and to assign it to a node.
    • sendCompletionRequest

      public void sendCompletionRequest​(java.lang.String taskId, long taskAllocationId, @Nullable java.lang.Exception taskFailure, ActionListener<PersistentTasksCustomMetadata.PersistentTask<?>> listener)
      Notifies the master node about the completion of a persistent task.

      When failure is null, the persistent task is considered as successfully completed.

    • sendRemoveRequest

      public void sendRemoveRequest​(java.lang.String taskId, ActionListener<PersistentTasksCustomMetadata.PersistentTask<?>> listener)
      Notifies the master node to remove a persistent task from the cluster state
    • waitForPersistentTaskCondition

      public void waitForPersistentTaskCondition​(java.lang.String taskId, java.util.function.Predicate<PersistentTasksCustomMetadata.PersistentTask<?>> predicate, @Nullable org.elasticsearch.common.unit.TimeValue timeout, PersistentTasksService.WaitForPersistentTaskListener<?> listener)
      Waits for a given persistent task to comply with a given predicate, then call back the listener accordingly.
      Parameters:
      taskId - the persistent task id
      predicate - the persistent task predicate to evaluate
      timeout - a timeout for waiting
      listener - the callback listener
    • waitForPersistentTasksCondition

      public void waitForPersistentTasksCondition​(java.util.function.Predicate<PersistentTasksCustomMetadata> predicate, @Nullable org.elasticsearch.common.unit.TimeValue timeout, ActionListener<java.lang.Boolean> listener)
      Waits for persistent tasks to comply with a given predicate, then call back the listener accordingly.
      Parameters:
      predicate - the predicate to evaluate
      timeout - a timeout for waiting
      listener - the callback listener