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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final record -
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, SplitShardCountSummary shardCountSummary) protected voidshardExecute(Task task, Request request, ShardId shardId, SplitShardCountSummary shardCountSummary, ActionListener<ShardResponse> shardActionListener) shards(Request request, ProjectState projectState) 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, SplitShardCountSummary shardCountSummary, ActionListener<ShardResponse> shardActionListener) -
shards
protected List<TransportBroadcastReplicationAction.ShardRecord> shards(Request request, ProjectState projectState) - Returns:
- all shard ids the request should run on
-
newShardRequest
protected abstract ShardRequest newShardRequest(Request request, ShardId shardId, SplitShardCountSummary shardCountSummary) -
newResponse
protected abstract Response newResponse(int successfulShards, int failedShards, int totalNumCopies, List<DefaultShardOperationFailedException> shardFailures)
-