Package org.elasticsearch.index.seqno
Class GlobalCheckpointSyncAction
java.lang.Object
org.elasticsearch.action.support.TransportAction<Request,Response>
org.elasticsearch.action.support.replication.TransportReplicationAction<GlobalCheckpointSyncAction.Request,GlobalCheckpointSyncAction.Request,ReplicationResponse>
org.elasticsearch.index.seqno.GlobalCheckpointSyncAction
public class GlobalCheckpointSyncAction extends TransportReplicationAction<GlobalCheckpointSyncAction.Request,GlobalCheckpointSyncAction.Request,ReplicationResponse>
Background global checkpoint sync action initiated when a shard goes inactive. This is needed because while we send the global checkpoint
on every replication operation, after the last operation completes the global checkpoint could advance but without a follow-up operation
the global checkpoint will never be synced to the replicas.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GlobalCheckpointSyncAction.Request
Nested classes/interfaces inherited from class org.elasticsearch.action.support.replication.TransportReplicationAction
TransportReplicationAction.ConcreteReplicaRequest<R extends TransportRequest>, TransportReplicationAction.ConcreteShardRequest<R extends TransportRequest>, TransportReplicationAction.PrimaryResult<ReplicaRequest extends ReplicationRequest<ReplicaRequest>,Response extends ReplicationResponse>, TransportReplicationAction.ReplicaResponse, TransportReplicationAction.ReplicaResult, TransportReplicationAction.ReplicasProxy, TransportReplicationAction.RetryOnReplicaException
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ACTION_NAME
Fields inherited from class org.elasticsearch.action.support.replication.TransportReplicationAction
clusterService, executor, forceExecutionOnPrimary, indicesService, REPLICATION_INITIAL_RETRY_BACKOFF_BOUND, REPLICATION_RETRY_TIMEOUT, shardStateAction, threadPool, transportOptions, transportPrimaryAction, transportReplicaAction, transportService
Fields inherited from class org.elasticsearch.action.support.TransportAction
actionName, localConnection, logger, taskManager
-
Constructor Summary
Constructors Constructor Description GlobalCheckpointSyncAction(Settings settings, TransportService transportService, ClusterService clusterService, IndicesService indicesService, ThreadPool threadPool, ShardStateAction shardStateAction, ActionFilters actionFilters)
-
Method Summary
Modifier and Type Method Description protected ReplicationResponse
newResponseInstance(StreamInput in)
protected void
shardOperationOnPrimary(GlobalCheckpointSyncAction.Request request, IndexShard indexShard, ActionListener<TransportReplicationAction.PrimaryResult<GlobalCheckpointSyncAction.Request,ReplicationResponse>> listener)
Primary operation on node with primary copy.protected void
shardOperationOnReplica(GlobalCheckpointSyncAction.Request shardRequest, IndexShard replica, ActionListener<TransportReplicationAction.ReplicaResult> listener)
Execute the specified replica operation.void
updateGlobalCheckpointForShard(ShardId shardId)
Methods inherited from class org.elasticsearch.action.support.replication.TransportReplicationAction
acquirePrimaryOperationPermit, acquireReplicaOperationPermit, adaptResponse, checkOperationLimits, checkPrimaryLimits, checkReplicaLimits, doExecute, globalBlockLevel, handlePrimaryRequest, handleReplicaRequest, indexBlockLevel, newReplicasProxy, resolveRequest, retryPrimaryException, transportOptions
Methods inherited from class org.elasticsearch.action.support.TransportAction
execute, execute, execute
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
ACTION_NAME
public static java.lang.String ACTION_NAME
-
-
Constructor Details
-
GlobalCheckpointSyncAction
@Inject public GlobalCheckpointSyncAction(Settings settings, TransportService transportService, ClusterService clusterService, IndicesService indicesService, ThreadPool threadPool, ShardStateAction shardStateAction, ActionFilters actionFilters)
-
-
Method Details
-
updateGlobalCheckpointForShard
-
newResponseInstance
- Specified by:
newResponseInstance
in classTransportReplicationAction<GlobalCheckpointSyncAction.Request,GlobalCheckpointSyncAction.Request,ReplicationResponse>
- Throws:
java.io.IOException
-
shardOperationOnPrimary
protected void shardOperationOnPrimary(GlobalCheckpointSyncAction.Request request, IndexShard indexShard, ActionListener<TransportReplicationAction.PrimaryResult<GlobalCheckpointSyncAction.Request,ReplicationResponse>> listener)Description copied from class:TransportReplicationAction
Primary operation on node with primary copy.- Specified by:
shardOperationOnPrimary
in classTransportReplicationAction<GlobalCheckpointSyncAction.Request,GlobalCheckpointSyncAction.Request,ReplicationResponse>
- Parameters:
request
- the request to the primary shardindexShard
- the primary shard to perform the operation on
-
shardOperationOnReplica
protected void shardOperationOnReplica(GlobalCheckpointSyncAction.Request shardRequest, IndexShard replica, ActionListener<TransportReplicationAction.ReplicaResult> listener)Description copied from class:TransportReplicationAction
Execute the specified replica operation. This is done under a permit fromIndexShard.acquireReplicaOperationPermit(long, long, long, ActionListener, String, Object)
.- Specified by:
shardOperationOnReplica
in classTransportReplicationAction<GlobalCheckpointSyncAction.Request,GlobalCheckpointSyncAction.Request,ReplicationResponse>
- Parameters:
shardRequest
- the request to the replica shardreplica
- the replica shard to perform the operation on
-