public abstract class TransportWriteAction<Request extends ReplicatedWriteRequest<Request>,ReplicaRequest extends ReplicatedWriteRequest<ReplicaRequest>,Response extends ReplicationResponse & WriteResponse> extends TransportReplicationAction<Request,ReplicaRequest,Response>
Modifier and Type | Class and Description |
---|---|
protected static class |
TransportWriteAction.WritePrimaryResult<ReplicaRequest extends ReplicatedWriteRequest<ReplicaRequest>,Response extends ReplicationResponse & WriteResponse>
Result of taking the action on the primary.
|
protected static class |
TransportWriteAction.WriteReplicaResult<ReplicaRequest extends ReplicatedWriteRequest<ReplicaRequest>>
Result of taking the action on the replica.
|
TransportReplicationAction.ConcreteShardRequest<R extends ReplicationRequest<?>>, TransportReplicationAction.PrimaryResult<ReplicaRequest extends ReplicationRequest<ReplicaRequest>,Response extends ReplicationResponse>, TransportReplicationAction.ReplicaResult, TransportReplicationAction.RetryOnReplicaException
clusterService
actionName, indexNameExpressionResolver, taskManager, threadPool
deprecationLogger, logger, settings
Modifier | Constructor and Description |
---|---|
protected |
TransportWriteAction(Settings settings,
java.lang.String actionName,
TransportService transportService,
ClusterService clusterService,
IndicesService indicesService,
ThreadPool threadPool,
ShardStateAction shardStateAction,
ActionFilters actionFilters,
IndexNameExpressionResolver indexNameExpressionResolver,
java.util.function.Supplier<Request> request,
java.util.function.Supplier<ReplicaRequest> replicaRequest,
java.lang.String executor) |
Modifier and Type | Method and Description |
---|---|
protected ClusterBlockLevel |
globalBlockLevel()
Cluster level block to check before request execution.
|
protected ClusterBlockLevel |
indexBlockLevel()
Index level block to check before request execution.
|
protected abstract TransportWriteAction.WritePrimaryResult<ReplicaRequest,Response> |
shardOperationOnPrimary(Request request,
IndexShard primary)
Called on the primary with a reference to the primary IndexShard to modify.
|
protected abstract TransportWriteAction.WriteReplicaResult<ReplicaRequest> |
shardOperationOnReplica(ReplicaRequest request,
IndexShard replica)
Called once per replica with a reference to the replica IndexShard to modify.
|
doExecute, doExecute, newResponseInstance, resolveIndex, resolveRequest, retryPrimaryException, shouldExecuteReplication, transportOptions
execute, execute, execute, execute
logDeprecatedSetting, logRemovedSetting, nodeName
protected TransportWriteAction(Settings settings, java.lang.String actionName, TransportService transportService, ClusterService clusterService, IndicesService indicesService, ThreadPool threadPool, ShardStateAction shardStateAction, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver, java.util.function.Supplier<Request> request, java.util.function.Supplier<ReplicaRequest> replicaRequest, java.lang.String executor)
protected abstract TransportWriteAction.WritePrimaryResult<ReplicaRequest,Response> shardOperationOnPrimary(Request request, IndexShard primary) throws java.lang.Exception
shardOperationOnPrimary
in class TransportReplicationAction<Request extends ReplicatedWriteRequest<Request>,ReplicaRequest extends ReplicatedWriteRequest<ReplicaRequest>,Response extends ReplicationResponse & WriteResponse>
request
- the request to the primary shardprimary
- the primary shard to perform the operation onprimary
shard according to the Request
refresh policyjava.lang.Exception
protected abstract TransportWriteAction.WriteReplicaResult<ReplicaRequest> shardOperationOnReplica(ReplicaRequest request, IndexShard replica) throws java.lang.Exception
shardOperationOnReplica
in class TransportReplicationAction<Request extends ReplicatedWriteRequest<Request>,ReplicaRequest extends ReplicatedWriteRequest<ReplicaRequest>,Response extends ReplicationResponse & WriteResponse>
request
- the request to the replica shardreplica
- the replica shard to perform the operation onreplica
shard according to the ReplicaRequest
refresh policyjava.lang.Exception
protected ClusterBlockLevel globalBlockLevel()
TransportReplicationAction
globalBlockLevel
in class TransportReplicationAction<Request extends ReplicatedWriteRequest<Request>,ReplicaRequest extends ReplicatedWriteRequest<ReplicaRequest>,Response extends ReplicationResponse & WriteResponse>
protected ClusterBlockLevel indexBlockLevel()
TransportReplicationAction
indexBlockLevel
in class TransportReplicationAction<Request extends ReplicatedWriteRequest<Request>,ReplicaRequest extends ReplicatedWriteRequest<ReplicaRequest>,Response extends ReplicationResponse & WriteResponse>