Package org.elasticsearch.persistent
Class AllocatedPersistentTask
java.lang.Object
org.elasticsearch.tasks.Task
org.elasticsearch.tasks.CancellableTask
org.elasticsearch.persistent.AllocatedPersistentTask
public class AllocatedPersistentTask extends CancellableTask
Represents a executor node operation that corresponds to a persistent task
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AllocatedPersistentTask.State
-
Field Summary
-
Constructor Summary
Constructors Constructor Description AllocatedPersistentTask(long id, java.lang.String type, java.lang.String action, java.lang.String description, TaskId parentTask, java.util.Map<java.lang.String,java.lang.String> headers)
-
Method Summary
Modifier and Type Method Description boolean
cancelOnParentLeaving()
Returns true if this task should be automatically cancelled if the coordinating node that requested this task left the cluster.long
getAllocationId()
java.lang.Exception
getFailure()
java.lang.String
getPersistentTaskId()
Task.Status
getStatus()
Build a status for this task or null if this task doesn't have status.protected void
init(PersistentTasksService persistentTasksService, TaskManager taskManager, java.lang.String persistentTaskId, long allocationId)
protected boolean
isCompleted()
void
markAsCompleted()
void
markAsFailed(java.lang.Exception e)
boolean
shouldCancelChildrenOnCancellation()
Returns true if this task can potentially have children that need to be cancelled when it parent is cancelled.void
updatePersistentTaskState(PersistentTaskState state, ActionListener<PersistentTasksCustomMetadata.PersistentTask<?>> listener)
Updates the persistent state for the corresponding persistent task.void
waitForPersistentTask(java.util.function.Predicate<PersistentTasksCustomMetadata.PersistentTask<?>> predicate, 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.Methods inherited from class org.elasticsearch.tasks.CancellableTask
getReasonCancelled, isCancelled, onCancelled
Methods inherited from class org.elasticsearch.tasks.Task
getAction, getDescription, getHeader, getId, getParentTaskId, getStartTime, getStartTimeNanos, getType, result, result, taskInfo, taskInfo
-
Constructor Details
-
AllocatedPersistentTask
public AllocatedPersistentTask(long id, java.lang.String type, java.lang.String action, java.lang.String description, TaskId parentTask, java.util.Map<java.lang.String,java.lang.String> headers)
-
-
Method Details
-
shouldCancelChildrenOnCancellation
public boolean shouldCancelChildrenOnCancellation()Description copied from class:CancellableTask
Returns true if this task can potentially have children that need to be cancelled when it parent is cancelled.- Specified by:
shouldCancelChildrenOnCancellation
in classCancellableTask
-
cancelOnParentLeaving
public final boolean cancelOnParentLeaving()Description copied from class:CancellableTask
Returns true if this task should be automatically cancelled if the coordinating node that requested this task left the cluster.- Overrides:
cancelOnParentLeaving
in classCancellableTask
-
getStatus
Description copied from class:Task
Build a status for this task or null if this task doesn't have status. Since most tasks don't have status this defaults to returning null. While this can never perform IO it might be a costly operation, requiring collating lists of results, etc. So only use it if you need the value. -
updatePersistentTaskState
public void updatePersistentTaskState(PersistentTaskState state, ActionListener<PersistentTasksCustomMetadata.PersistentTask<?>> listener)Updates the persistent state for the corresponding persistent task.This doesn't affect the status of this allocated task.
-
getPersistentTaskId
public java.lang.String getPersistentTaskId() -
init
protected void init(PersistentTasksService persistentTasksService, TaskManager taskManager, java.lang.String persistentTaskId, long allocationId) -
getFailure
public java.lang.Exception getFailure() -
getAllocationId
public long getAllocationId() -
waitForPersistentTask
public void waitForPersistentTask(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:
predicate
- the persistent task predicate to evaluatetimeout
- a timeout for waitinglistener
- the callback listener
-
isCompleted
protected final boolean isCompleted() -
markAsCompleted
public void markAsCompleted() -
markAsFailed
public void markAsFailed(java.lang.Exception e)
-