Interface ReplicationOperation.Primary<RequestT extends ReplicationRequest<RequestT>,ReplicaRequestT extends ReplicationRequest<ReplicaRequestT>,PrimaryResultT extends ReplicationOperation.PrimaryResult<ReplicaRequestT>>
- Enclosing class:
- ReplicationOperation<Request extends ReplicationRequest<Request>,ReplicaRequest extends ReplicationRequest<ReplicaRequest>,PrimaryResultT extends ReplicationOperation.PrimaryResult<ReplicaRequest>>
public static interface ReplicationOperation.Primary<RequestT extends ReplicationRequest<RequestT>,ReplicaRequestT extends ReplicationRequest<ReplicaRequestT>,PrimaryResultT extends ReplicationOperation.PrimaryResult<ReplicaRequestT>>
An encapsulation of an operation that is to be performed on the primary shard
-
Method Summary
Modifier and TypeMethodDescriptionlong
Returns the global checkpoint computed on the primary shard.void
Fail the primary shard.Returns the pending replication actions on the primary shardReturns the current replication group on the primary shardlong
Returns the persisted global checkpoint on the primary shard.long
Returns the persisted local checkpoint on the primary shard.long
Returns the maximum seq_no of updates (index operations overwrite Lucene) or deletes on the primary.void
perform(RequestT request, ActionListener<PrimaryResultT> listener)
Performs the given request on this primary.routing entry for this primaryvoid
updateGlobalCheckpointForShard(String allocationId, long globalCheckpoint)
Update the local knowledge of the global checkpoint for the specified allocation ID.void
updateLocalCheckpointForShard(String allocationId, long checkpoint)
Notifies the primary of a local checkpoint for the given allocation.
-
Method Details
-
routingEntry
ShardRouting routingEntry()routing entry for this primary -
failShard
Fail the primary shard.- Parameters:
message
- the failure messageexception
- the exception that triggered the failure
-
perform
Performs the given request on this primary. Yes, this returns as soon as it can with the request for the replicas and calls a listener when the primary request is completed. Yes, the primary request might complete before the method returns. Yes, it might also complete after. Deal with it.- Parameters:
request
- the request to performlistener
- result listener
-
updateLocalCheckpointForShard
Notifies the primary of a local checkpoint for the given allocation. Note: The primary will use this information to advance the global checkpoint if possible.- Parameters:
allocationId
- allocation ID of the shard corresponding to the supplied local checkpointcheckpoint
- the *local* checkpoint for the shard
-
updateGlobalCheckpointForShard
Update the local knowledge of the global checkpoint for the specified allocation ID.- Parameters:
allocationId
- the allocation ID to update the global checkpoint forglobalCheckpoint
- the global checkpoint
-
localCheckpoint
long localCheckpoint()Returns the persisted local checkpoint on the primary shard.- Returns:
- the local checkpoint
-
computedGlobalCheckpoint
long computedGlobalCheckpoint()Returns the global checkpoint computed on the primary shard.- Returns:
- the computed global checkpoint
-
globalCheckpoint
long globalCheckpoint()Returns the persisted global checkpoint on the primary shard.- Returns:
- the persisted global checkpoint
-
maxSeqNoOfUpdatesOrDeletes
long maxSeqNoOfUpdatesOrDeletes()Returns the maximum seq_no of updates (index operations overwrite Lucene) or deletes on the primary. This value must be captured after the execution of a replication request on the primary is completed. -
getReplicationGroup
ReplicationGroup getReplicationGroup()Returns the current replication group on the primary shard- Returns:
- the replication group
-
getPendingReplicationActions
PendingReplicationActions getPendingReplicationActions()Returns the pending replication actions on the primary shard- Returns:
- the pending replication actions
-