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 Type Method Description void
failShard(java.lang.String message, java.lang.Exception exception)
Fail the primary shard.ReplicationGroup
getReplicationGroup()
Returns the current replication group on the primary shardlong
globalCheckpoint()
Returns the global checkpoint on the primary shard.long
localCheckpoint()
Returns the local checkpoint on the primary shard.long
maxSeqNoOfUpdatesOrDeletes()
Returns the maximum seq_no of updates (index operations overwrite Lucene) or deletes on the primary.PrimaryResultT
perform(RequestT request)
Performs the given request on this primary.ShardRouting
routingEntry()
routing entry for this primaryvoid
updateGlobalCheckpointForShard(java.lang.String allocationId, long globalCheckpoint)
Update the local knowledge of the global checkpoint for the specified allocation ID.void
updateLocalCheckpointForShard(java.lang.String allocationId, long checkpoint)
Notifies the primary of a local checkpoint for the given allocation.
-
-
-
Method Detail
-
routingEntry
ShardRouting routingEntry()
routing entry for this primary
-
failShard
void failShard(java.lang.String message, java.lang.Exception exception)
Fail the primary shard.- Parameters:
message
- the failure messageexception
- the exception that triggered the failure
-
perform
PrimaryResultT perform(RequestT request) throws java.lang.Exception
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 perform- Returns:
- the request to send to the replicas
- Throws:
java.lang.Exception
-
updateLocalCheckpointForShard
void updateLocalCheckpointForShard(java.lang.String allocationId, long checkpoint)
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
void updateGlobalCheckpointForShard(java.lang.String allocationId, long globalCheckpoint)
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 local checkpoint on the primary shard.- Returns:
- the local checkpoint
-
globalCheckpoint
long globalCheckpoint()
Returns the global checkpoint on the primary shard.- Returns:
- the 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
-
-