Interface ReplicationOperation.Replicas<RequestT extends ReplicationRequest<RequestT>>

All Known Implementing Classes:
TransportReplicationAction.ReplicasProxy
Enclosing class:
ReplicationOperation<Request extends ReplicationRequest<Request>,ReplicaRequest extends ReplicationRequest<ReplicaRequest>,PrimaryResultT extends ReplicationOperation.PrimaryResult<ReplicaRequest>>

public static interface ReplicationOperation.Replicas<RequestT extends ReplicationRequest<RequestT>>
An encapsulation of an operation that will be executed on the replica shards, if present.
  • Method Details

    • performOn

      void performOn(ShardRouting replica, RequestT replicaRequest, long primaryTerm, long globalCheckpoint, long maxSeqNoOfUpdatesOrDeletes, ActionListener<ReplicationOperation.ReplicaResponse> listener)
      Performs the specified request on the specified replica.
      Parameters:
      replica - the shard this request should be executed on
      replicaRequest - the operation to perform
      primaryTerm - the primary term
      globalCheckpoint - the global checkpoint on the primary
      maxSeqNoOfUpdatesOrDeletes - the max seq_no of updates (index operations overwriting Lucene) or deletes on primary after this replication was executed on it.
      listener - callback for handling the response or failure
    • failShardIfNeeded

      void failShardIfNeeded(ShardRouting replica, long primaryTerm, String message, Exception exception, ActionListener<Void> listener)
      Fail the specified shard if needed, removing it from the current set of active shards. Whether a failure is needed is left up to the implementation.
      Parameters:
      replica - shard to fail
      primaryTerm - the primary term
      message - a (short) description of the reason
      exception - the original exception which caused the ReplicationOperation to request the shard to be failed
      listener - a listener that will be notified when the failing shard has been removed from the in-sync set
    • markShardCopyAsStaleIfNeeded

      void markShardCopyAsStaleIfNeeded(ShardId shardId, String allocationId, long primaryTerm, ActionListener<Void> listener)
      Marks shard copy as stale if needed, removing its allocation id from the set of in-sync allocation ids. Whether marking as stale is needed is left up to the implementation.
      Parameters:
      shardId - shard id
      allocationId - allocation id to remove from the set of in-sync allocation ids
      primaryTerm - the primary term
      listener - a listener that will be notified when the failing shard has been removed from the in-sync set