TransportResyncReplicationAction
, TransportShardBulkAction
, TransportSingleItemBulkWriteAction
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 | 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
deprecationLogger, logger, settings
actionName, indexNameExpressionResolver, taskManager, threadPool
clusterService, executor, indicesService, shardStateAction, transportOptions, transportPrimaryAction, transportReplicaAction, transportService
Modifier | Constructor | 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 | 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
|
logDeprecatedSetting, logRemovedSetting, nodeName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
execute, execute, execute, execute
doExecute, doExecute, getIndexShard, newResponseInstance, registerRequestHandlers, resolveIndex, resolveRequest, retryPrimaryException, sendReplicaRequest, transportOptions
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>