Class TransportNodesAction<NodesRequest extends BaseNodesRequest<NodesRequest>,NodesResponse extends BaseNodesResponse,NodeRequest extends BaseNodeRequest,NodeResponse extends BaseNodeResponse>
java.lang.Object
org.elasticsearch.action.support.TransportAction<Request,Response>
org.elasticsearch.action.support.HandledTransportAction<NodesRequest,NodesResponse>
org.elasticsearch.action.support.nodes.TransportNodesAction<NodesRequest,NodesResponse,NodeRequest,NodeResponse>
- Direct Known Subclasses:
TransportClusterStatsAction,TransportFindDanglingIndexAction,TransportListDanglingIndicesAction,TransportNodesHotThreadsAction,TransportNodesInfoAction,TransportNodesListGatewayMetaState,TransportNodesListGatewayStartedShards,TransportNodesListShardStoreMetadata,TransportNodesReloadSecureSettingsAction,TransportNodesSnapshotsStatus,TransportNodesStatsAction,TransportNodesUsageAction
public abstract class TransportNodesAction<NodesRequest extends BaseNodesRequest<NodesRequest>,NodesResponse extends BaseNodesResponse,NodeRequest extends BaseNodeRequest,NodeResponse extends BaseNodeResponse> extends HandledTransportAction<NodesRequest,NodesResponse>
-
Field Summary
Fields Modifier and Type Field Description protected ClusterServiceclusterServiceprotected java.lang.Class<NodeResponse>nodeResponseClassprotected ThreadPoolthreadPoolprotected java.lang.StringtransportNodeActionprotected TransportServicetransportServiceFields inherited from class org.elasticsearch.action.support.TransportAction
actionName, logger, taskManager -
Constructor Summary
Constructors Modifier Constructor Description protectedTransportNodesAction(java.lang.String actionName, ThreadPool threadPool, ClusterService clusterService, TransportService transportService, ActionFilters actionFilters, Writeable.Reader<NodesRequest> request, Writeable.Reader<NodeRequest> nodeRequest, java.lang.String nodeExecutor, java.lang.Class<NodeResponse> nodeResponseClass)Same asTransportNodesAction(String, ThreadPool, ClusterService, TransportService, ActionFilters, Writeable.Reader, Writeable.Reader, String, String, Class)but executes final response collection on the transport thread except for when the final node response is received from the local node, in which casenodeExecutoris used.protectedTransportNodesAction(java.lang.String actionName, ThreadPool threadPool, ClusterService clusterService, TransportService transportService, ActionFilters actionFilters, Writeable.Reader<NodesRequest> request, Writeable.Reader<NodeRequest> nodeRequest, java.lang.String nodeExecutor, java.lang.String finalExecutor, java.lang.Class<NodeResponse> nodeResponseClass) -
Method Summary
Modifier and Type Method Description protected voiddoExecute(Task task, NodesRequest request, ActionListener<NodesResponse> listener)protected java.lang.StringgetTransportNodeAction(DiscoveryNode node)Get a backwards compatible transport action nameprotected abstract NodeRequestnewNodeRequest(NodesRequest request)protected abstract NodeResponsenewNodeResponse(StreamInput in)protected NodesResponsenewResponse(NodesRequest request, java.util.concurrent.atomic.AtomicReferenceArray<?> nodesResponses)Map the responses intonodeResponseClassresponses andFailedNodeExceptions.protected abstract NodesResponsenewResponse(NodesRequest request, java.util.List<NodeResponse> responses, java.util.List<FailedNodeException> failures)Create a newTransportNodesAction(multi-node response).protected abstract NodeResponsenodeOperation(NodeRequest request)protected NodeResponsenodeOperation(NodeRequest request, Task task)protected voidresolveRequest(NodesRequest request, ClusterState clusterState)resolve node ids to concrete nodes of the incoming requestMethods inherited from class org.elasticsearch.action.support.TransportAction
execute, execute, execute
-
Field Details
-
threadPool
-
clusterService
-
transportService
-
nodeResponseClass
-
transportNodeAction
protected final java.lang.String transportNodeAction
-
-
Constructor Details
-
TransportNodesAction
protected TransportNodesAction(java.lang.String actionName, ThreadPool threadPool, ClusterService clusterService, TransportService transportService, ActionFilters actionFilters, Writeable.Reader<NodesRequest> request, Writeable.Reader<NodeRequest> nodeRequest, java.lang.String nodeExecutor, java.lang.String finalExecutor, java.lang.Class<NodeResponse> nodeResponseClass)- Parameters:
actionName- action namethreadPool- thread-poolclusterService- cluster servicetransportService- transport serviceactionFilters- action filtersrequest- node request writernodeRequest- node request readernodeExecutor- executor to execute node action onfinalExecutor- executor to execute final collection of all responses onnodeResponseClass- class of the node responses
-
TransportNodesAction
protected TransportNodesAction(java.lang.String actionName, ThreadPool threadPool, ClusterService clusterService, TransportService transportService, ActionFilters actionFilters, Writeable.Reader<NodesRequest> request, Writeable.Reader<NodeRequest> nodeRequest, java.lang.String nodeExecutor, java.lang.Class<NodeResponse> nodeResponseClass)Same asTransportNodesAction(String, ThreadPool, ClusterService, TransportService, ActionFilters, Writeable.Reader, Writeable.Reader, String, String, Class)but executes final response collection on the transport thread except for when the final node response is received from the local node, in which casenodeExecutoris used. This constructor should only be used for actions for which the creation of the final response is fast enough to be safely executed on a transport thread.
-
-
Method Details
-
doExecute
- Specified by:
doExecutein classTransportAction<NodesRequest extends BaseNodesRequest<NodesRequest>,NodesResponse extends BaseNodesResponse>
-
newResponse
protected NodesResponse newResponse(NodesRequest request, java.util.concurrent.atomic.AtomicReferenceArray<?> nodesResponses)Map the responses intonodeResponseClassresponses andFailedNodeExceptions.- Parameters:
request- The associated request.nodesResponses- All node-level responses- Returns:
- Never
null. - Throws:
java.lang.NullPointerException- ifnodesResponsesisnull- See Also:
newResponse(BaseNodesRequest, List, List)
-
newResponse
protected abstract NodesResponse newResponse(NodesRequest request, java.util.List<NodeResponse> responses, java.util.List<FailedNodeException> failures)Create a newTransportNodesAction(multi-node response).- Parameters:
request- The associated request.responses- All successful node-level responses.failures- All node-level failures.- Returns:
- Never
null. - Throws:
java.lang.NullPointerException- if any parameter isnull.
-
newNodeRequest
-
newNodeResponse
- Throws:
java.io.IOException
-
nodeOperation
-
nodeOperation
-
resolveRequest
resolve node ids to concrete nodes of the incoming request -
getTransportNodeAction
Get a backwards compatible transport action name
-