Class TransportBroadcastAction<Request extends BroadcastRequest<Request>,Response extends BroadcastResponse,ShardRequest extends BroadcastShardRequest,ShardResponse extends BroadcastShardResponse>
java.lang.Object
org.elasticsearch.action.support.TransportAction<Request,Response>
org.elasticsearch.action.support.HandledTransportAction<Request,Response>
org.elasticsearch.action.support.broadcast.TransportBroadcastAction<Request,Response,ShardRequest,ShardResponse>
- Direct Known Subclasses:
TransportValidateQueryAction
public abstract class TransportBroadcastAction<Request extends BroadcastRequest<Request>,Response extends BroadcastResponse,ShardRequest extends BroadcastShardRequest,ShardResponse extends BroadcastShardResponse>
extends HandledTransportAction<Request,Response>
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprotected ClusterService
protected IndexNameExpressionResolver
protected TransportService
Fields inherited from class org.elasticsearch.action.support.TransportAction
actionName, localConnection, logger, taskManager
-
Constructor Summary
ModifierConstructorDescriptionprotected
TransportBroadcastAction(String actionName, ClusterService clusterService, TransportService transportService, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver, Writeable.Reader<Request> request, Writeable.Reader<ShardRequest> shardRequest, String shardExecutor)
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract ClusterBlockException
checkGlobalBlock(ClusterState state, Request request)
protected abstract ClusterBlockException
checkRequestBlock(ClusterState state, Request request, String[] concreteIndices)
protected void
doExecute(Task task, Request request, ActionListener<Response> listener)
protected abstract Response
newResponse(Request request, AtomicReferenceArray<?> shardsResponses, ClusterState clusterState)
protected abstract ShardRequest
newShardRequest(int numShards, ShardRouting shard, Request request)
protected abstract ShardResponse
protected abstract ShardResponse
shardOperation(ShardRequest request, Task task)
protected abstract GroupShardsIterator<ShardIterator>
shards(ClusterState clusterState, Request request, String[] concreteIndices)
Determines the shards this operation will be executed on.Methods inherited from class org.elasticsearch.action.support.TransportAction
execute, execute, execute
-
Field Details
-
clusterService
-
transportService
-
indexNameExpressionResolver
-
-
Constructor Details
-
TransportBroadcastAction
protected TransportBroadcastAction(String actionName, ClusterService clusterService, TransportService transportService, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver, Writeable.Reader<Request> request, Writeable.Reader<ShardRequest> shardRequest, String shardExecutor)
-
-
Method Details
-
doExecute
- Specified by:
doExecute
in classTransportAction<Request extends BroadcastRequest<Request>,Response extends BroadcastResponse>
-
newResponse
protected abstract Response newResponse(Request request, AtomicReferenceArray<?> shardsResponses, ClusterState clusterState) -
newShardRequest
-
readShardResponse
- Throws:
IOException
-
shardOperation
- Throws:
IOException
-
shards
protected abstract GroupShardsIterator<ShardIterator> shards(ClusterState clusterState, Request request, String[] concreteIndices)Determines the shards this operation will be executed on. The operation is executed once per shard iterator, typically on the first shard in it. If the operation fails, it will be retried on the next shard in the iterator. -
checkGlobalBlock
-
checkRequestBlock
protected abstract ClusterBlockException checkRequestBlock(ClusterState state, Request request, String[] concreteIndices)
-