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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
failShardIfNeeded(ShardRouting replica, java.lang.String message, java.lang.Exception exception, java.lang.Runnable onSuccess, java.util.function.Consumer<java.lang.Exception> onPrimaryDemoted, java.util.function.Consumer<java.lang.Exception> onIgnoredFailure)
Fail the specified shard if needed, removing it from the current set of active shards.void
markShardCopyAsStaleIfNeeded(ShardId shardId, java.lang.String allocationId, java.lang.Runnable onSuccess, java.util.function.Consumer<java.lang.Exception> onPrimaryDemoted, java.util.function.Consumer<java.lang.Exception> onIgnoredFailure)
Marks shard copy as stale if needed, removing its allocation id from the set of in-sync allocation ids.void
performOn(ShardRouting replica, RequestT replicaRequest, long globalCheckpoint, ActionListener<ReplicationOperation.ReplicaResponse> listener)
Performs the specified request on the specified replica.
-
-
-
Method Detail
-
performOn
void performOn(ShardRouting replica, RequestT replicaRequest, long globalCheckpoint, ActionListener<ReplicationOperation.ReplicaResponse> listener)
Performs the specified request on the specified replica.- Parameters:
replica
- the shard this request should be executed onreplicaRequest
- the operation to performglobalCheckpoint
- the global checkpoint on the primarylistener
- callback for handling the response or failure
-
failShardIfNeeded
void failShardIfNeeded(ShardRouting replica, java.lang.String message, java.lang.Exception exception, java.lang.Runnable onSuccess, java.util.function.Consumer<java.lang.Exception> onPrimaryDemoted, java.util.function.Consumer<java.lang.Exception> onIgnoredFailure)
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 failmessage
- a (short) description of the reasonexception
- the original exception which caused the ReplicationOperation to request the shard to be failedonSuccess
- a callback to call when the shard has been successfully removed from the active set.onPrimaryDemoted
- a callback to call when the shard can not be failed because the current primary has been demoted by the master.onIgnoredFailure
- a callback to call when failing a shard has failed, but it that failure can be safely ignored and the
-
markShardCopyAsStaleIfNeeded
void markShardCopyAsStaleIfNeeded(ShardId shardId, java.lang.String allocationId, java.lang.Runnable onSuccess, java.util.function.Consumer<java.lang.Exception> onPrimaryDemoted, java.util.function.Consumer<java.lang.Exception> onIgnoredFailure)
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 idallocationId
- allocation id to remove from the set of in-sync allocation idsonSuccess
- a callback to call when the allocation id has been successfully removed from the in-sync set.onPrimaryDemoted
- a callback to call when the request failed because the current primary was already demoted by the master.onIgnoredFailure
- a callback to call when the request failed, but the failure can be safely ignored.
-
-