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 |
---|---|
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.ConcreteReplicaRequest<R extends TransportRequest>, TransportReplicationAction.ConcreteShardRequest<R extends TransportRequest>, TransportReplicationAction.OperationTransportHandler, TransportReplicationAction.PrimaryOperationTransportHandler, TransportReplicationAction.PrimaryResult<ReplicaRequest extends ReplicationRequest<ReplicaRequest>,Response extends ReplicationResponse>, TransportReplicationAction.ReplicaOperationTransportHandler, TransportReplicationAction.ReplicaResponse, TransportReplicationAction.ReplicaResult, TransportReplicationAction.ReplicasProxy, TransportReplicationAction.RetryOnReplicaException
clusterService, executor, indicesService, shardStateAction, transportOptions, transportPrimaryAction, transportReplicaAction, transportService
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 static Translog.Location |
locationToSync(Translog.Location current,
Translog.Location next) |
protected ReplicationOperation.Replicas |
newReplicasProxy(long primaryTerm) |
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.
|
protected static Translog.Location |
syncOperationResultOrThrow(Engine.Result operationResult,
Translog.Location currentLocation)
Syncs operation result to the translog or throws a shard not available failure
|
doExecute, doExecute, getIndexShard, newResponseInstance, registerRequestHandlers, resolveIndex, resolveRequest, retryPrimaryException, sendReplicaRequest, 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 static Translog.Location syncOperationResultOrThrow(Engine.Result operationResult, Translog.Location currentLocation) throws java.lang.Exception
java.lang.Exception
protected static Translog.Location locationToSync(Translog.Location current, Translog.Location next)
protected ReplicationOperation.Replicas newReplicasProxy(long primaryTerm)
newReplicasProxy
in class TransportReplicationAction<Request extends ReplicatedWriteRequest<Request>,ReplicaRequest extends ReplicatedWriteRequest<ReplicaRequest>,Response extends ReplicationResponse & WriteResponse>
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>