Module org.elasticsearch.server
Class TransportBroadcastReplicationAction<Request extends BroadcastRequest<Request>,Response extends BaseBroadcastResponse,ShardRequest extends ReplicationRequest<ShardRequest>,ShardResponse extends ReplicationResponse>
java.lang.Object
org.elasticsearch.action.support.TransportAction<Request,Response>
org.elasticsearch.action.support.HandledTransportAction<Request,Response>
org.elasticsearch.action.support.replication.TransportBroadcastReplicationAction<Request,Response,ShardRequest,ShardResponse>
- Direct Known Subclasses:
TransportFlushAction,TransportRefreshAction
public abstract class TransportBroadcastReplicationAction<Request extends BroadcastRequest<Request>,Response extends BaseBroadcastResponse,ShardRequest extends ReplicationRequest<ShardRequest>,ShardResponse extends ReplicationResponse>
extends HandledTransportAction<Request,Response>
Base class for requests that should be executed on all shards of an index or several indices.
This action sends shard requests to all primary shards of the indices and they are then replicated like write requests
-
Field Summary
Fields inherited from class org.elasticsearch.action.support.TransportAction
actionName, logger, taskManager -
Constructor Summary
ConstructorsConstructorDescriptionTransportBroadcastReplicationAction(String name, Writeable.Reader<Request> requestReader, ClusterService clusterService, TransportService transportService, NodeClient client, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver, ActionType<ShardResponse> replicatedBroadcastShardAction, Executor executor, ProjectResolver projectResolver) -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoExecute(Task task, Request request, ActionListener<Response> listener) protected abstract ResponsenewResponse(int successfulShards, int failedShards, int totalNumCopies, List<DefaultShardOperationFailedException> shardFailures) protected abstract ShardRequestnewShardRequest(Request request, ShardId shardId) protected voidshardExecute(Task task, Request request, ShardId shardId, ActionListener<ShardResponse> shardActionListener) shards(Request request, ProjectMetadata project, RoutingTable indexRoutingTables) Methods inherited from class org.elasticsearch.action.support.TransportAction
execute, executeDirect, localOnly
-
Constructor Details
-
TransportBroadcastReplicationAction
public TransportBroadcastReplicationAction(String name, Writeable.Reader<Request> requestReader, ClusterService clusterService, TransportService transportService, NodeClient client, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver, ActionType<ShardResponse> replicatedBroadcastShardAction, Executor executor, ProjectResolver projectResolver)
-
-
Method Details
-
doExecute
- Specified by:
doExecutein classTransportAction<Request extends BroadcastRequest<Request>,Response extends BaseBroadcastResponse>
-
shardExecute
protected void shardExecute(Task task, Request request, ShardId shardId, ActionListener<ShardResponse> shardActionListener) -
shards
protected List<ShardId> shards(Request request, ProjectMetadata project, RoutingTable indexRoutingTables) - Returns:
- all shard ids the request should run on
-
newShardRequest
-
newResponse
protected abstract Response newResponse(int successfulShards, int failedShards, int totalNumCopies, List<DefaultShardOperationFailedException> shardFailures)
-