Class TransportTasksAction<OperationTask extends Task,TasksRequest extends BaseTasksRequest<TasksRequest>,TasksResponse extends BaseTasksResponse,TaskResponse extends Writeable>
java.lang.Object
org.elasticsearch.action.support.TransportAction<Request,Response>
org.elasticsearch.action.support.HandledTransportAction<TasksRequest,TasksResponse>
org.elasticsearch.action.support.tasks.TransportTasksAction<OperationTask,TasksRequest,TasksResponse,TaskResponse>
- Direct Known Subclasses:
TransportCancelTasksAction
,TransportListTasksAction
public abstract class TransportTasksAction<OperationTask extends Task,TasksRequest extends BaseTasksRequest<TasksRequest>,TasksResponse extends BaseTasksResponse,TaskResponse extends Writeable> extends HandledTransportAction<TasksRequest,TasksResponse>
The base class for transport actions that are interacting with currently running tasks.
-
Field Summary
Fields Modifier and Type Field Description protected ClusterService
clusterService
protected Writeable.Reader<TasksRequest>
requestReader
protected Writeable.Reader<TaskResponse>
responseReader
protected Writeable.Reader<TasksResponse>
responsesReader
protected java.lang.String
transportNodeAction
protected TransportService
transportService
Fields inherited from class org.elasticsearch.action.support.TransportAction
actionName, localConnection, logger, taskManager
-
Constructor Summary
Constructors Modifier Constructor Description protected
TransportTasksAction(java.lang.String actionName, ClusterService clusterService, TransportService transportService, ActionFilters actionFilters, Writeable.Reader<TasksRequest> requestReader, Writeable.Reader<TasksResponse> responsesReader, Writeable.Reader<TaskResponse> responseReader, java.lang.String nodeExecutor)
-
Method Summary
Modifier and Type Method Description protected void
doExecute(Task task, TasksRequest request, ActionListener<TasksResponse> listener)
protected java.lang.String[]
filterNodeIds(DiscoveryNodes nodes, java.lang.String[] nodesIds)
protected TasksResponse
newResponse(TasksRequest request, java.util.concurrent.atomic.AtomicReferenceArray responses)
protected abstract TasksResponse
newResponse(TasksRequest request, java.util.List<TaskResponse> tasks, java.util.List<TaskOperationFailure> taskOperationFailures, java.util.List<FailedNodeException> failedNodeExceptions)
protected void
processTasks(TasksRequest request, java.util.function.Consumer<OperationTask> operation)
protected java.lang.String[]
resolveNodes(TasksRequest request, ClusterState clusterState)
protected abstract void
taskOperation(TasksRequest request, OperationTask task, ActionListener<TaskResponse> listener)
Perform the required operation on the task.Methods inherited from class org.elasticsearch.action.support.TransportAction
execute, execute, execute
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
clusterService
-
transportService
-
requestReader
-
responsesReader
-
responseReader
-
transportNodeAction
protected final java.lang.String transportNodeAction
-
-
Constructor Details
-
TransportTasksAction
protected TransportTasksAction(java.lang.String actionName, ClusterService clusterService, TransportService transportService, ActionFilters actionFilters, Writeable.Reader<TasksRequest> requestReader, Writeable.Reader<TasksResponse> responsesReader, Writeable.Reader<TaskResponse> responseReader, java.lang.String nodeExecutor)
-
-
Method Details
-
doExecute
- Specified by:
doExecute
in classTransportAction<TasksRequest extends BaseTasksRequest<TasksRequest>,TasksResponse extends BaseTasksResponse>
-
filterNodeIds
-
resolveNodes
-
processTasks
protected void processTasks(TasksRequest request, java.util.function.Consumer<OperationTask> operation) -
newResponse
protected abstract TasksResponse newResponse(TasksRequest request, java.util.List<TaskResponse> tasks, java.util.List<TaskOperationFailure> taskOperationFailures, java.util.List<FailedNodeException> failedNodeExceptions) -
newResponse
protected TasksResponse newResponse(TasksRequest request, java.util.concurrent.atomic.AtomicReferenceArray responses) -
taskOperation
protected abstract void taskOperation(TasksRequest request, OperationTask task, ActionListener<TaskResponse> listener)Perform the required operation on the task. It is OK start an asynchronous operation or to throw an exception but not both.
-