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 classGlobalCheckpointSyncAction.RequestNested 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.StringACTION_NAMEFields 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, transportServiceFields 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 ReplicationResponsenewResponseInstance(StreamInput in)protected voidshardOperationOnPrimary(GlobalCheckpointSyncAction.Request request, IndexShard indexShard, ActionListener<TransportReplicationAction.PrimaryResult<GlobalCheckpointSyncAction.Request,ReplicationResponse>> listener)Primary operation on node with primary copy.protected voidshardOperationOnReplica(GlobalCheckpointSyncAction.Request shardRequest, IndexShard replica, ActionListener<TransportReplicationAction.ReplicaResult> listener)Execute the specified replica operation.voidupdateGlobalCheckpointForShard(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, transportOptionsMethods inherited from class org.elasticsearch.action.support.TransportAction
execute, execute, executeMethods 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:
newResponseInstancein 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:TransportReplicationActionPrimary operation on node with primary copy.- Specified by:
shardOperationOnPrimaryin 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:TransportReplicationActionExecute the specified replica operation. This is done under a permit fromIndexShard.acquireReplicaOperationPermit(long, long, long, ActionListener, String, Object).- Specified by:
shardOperationOnReplicain classTransportReplicationAction<GlobalCheckpointSyncAction.Request,GlobalCheckpointSyncAction.Request,ReplicationResponse>- Parameters:
shardRequest- the request to the replica shardreplica- the replica shard to perform the operation on
-