Class ShardStateAction
java.lang.Object
org.elasticsearch.cluster.action.shard.ShardStateAction
public class ShardStateAction
extends java.lang.Object
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ShardStateAction.FailedShardEntry
static class
ShardStateAction.NoLongerPrimaryShardException
static class
ShardStateAction.ShardFailedClusterStateTaskExecutor
static class
ShardStateAction.ShardStartedClusterStateTaskExecutor
static class
ShardStateAction.StartedShardEntry
-
Field Summary
Fields Modifier and Type Field Description static Setting<Priority>
FOLLOW_UP_REROUTE_PRIORITY_SETTING
Adjusts the priority of the followup reroute task.static java.lang.String
SHARD_FAILED_ACTION_NAME
static java.lang.String
SHARD_STARTED_ACTION_NAME
-
Constructor Summary
Constructors Constructor Description ShardStateAction(ClusterService clusterService, TransportService transportService, AllocationService allocationService, RerouteService rerouteService, ThreadPool threadPool)
-
Method Summary
Modifier and Type Method Description void
localShardFailed(ShardRouting shardRouting, java.lang.String message, java.lang.Exception failure, ActionListener<java.lang.Void> listener)
Send a shard failed request to the master node to update the cluster state when a shard on the local node failed.void
localShardFailed(ShardRouting shardRouting, java.lang.String message, java.lang.Exception failure, ActionListener<java.lang.Void> listener, ClusterState currentState)
Send a shard failed request to the master node to update the cluster state when a shard on the local node failed.void
remoteShardFailed(ShardId shardId, java.lang.String allocationId, long primaryTerm, boolean markAsStale, java.lang.String message, java.lang.Exception failure, ActionListener<java.lang.Void> listener)
Send a shard failed request to the master node to update the cluster state with the failure of a shard on another node.void
shardStarted(ShardRouting shardRouting, long primaryTerm, java.lang.String message, ActionListener<java.lang.Void> listener)
void
shardStarted(ShardRouting shardRouting, long primaryTerm, java.lang.String message, ActionListener<java.lang.Void> listener, ClusterState currentState)
protected void
waitForNewMasterAndRetry(java.lang.String actionName, ClusterStateObserver observer, TransportRequest request, ActionListener<java.lang.Void> listener, java.util.function.Predicate<ClusterState> changePredicate)
-
Field Details
-
SHARD_STARTED_ACTION_NAME
public static final java.lang.String SHARD_STARTED_ACTION_NAME- See Also:
- Constant Field Values
-
SHARD_FAILED_ACTION_NAME
public static final java.lang.String SHARD_FAILED_ACTION_NAME- See Also:
- Constant Field Values
-
FOLLOW_UP_REROUTE_PRIORITY_SETTING
Adjusts the priority of the followup reroute task. NORMAL is right for reasonable clusters, but in a badly configured cluster it may be necessary to raise this higher to recover the older behaviour of rerouting after processing every shard-started task. Deliberately undocumented, since this is a last-resort escape hatch for experts rather than something we want to expose to anyone, and deprecated since we will remove it once we have confirmed from experience that this priority is appropriate in all cases.
-
-
Constructor Details
-
ShardStateAction
@Inject public ShardStateAction(ClusterService clusterService, TransportService transportService, AllocationService allocationService, RerouteService rerouteService, ThreadPool threadPool)
-
-
Method Details
-
remoteShardFailed
public void remoteShardFailed(ShardId shardId, java.lang.String allocationId, long primaryTerm, boolean markAsStale, java.lang.String message, @Nullable java.lang.Exception failure, ActionListener<java.lang.Void> listener)Send a shard failed request to the master node to update the cluster state with the failure of a shard on another node. This means that the shard should be failed because a write made it into the primary but was not replicated to this shard copy. If the shard does not exist anymore but still has an entry in the in-sync set, remove its allocation id from the in-sync set.- Parameters:
shardId
- shard id of the shard to failallocationId
- allocation id of the shard to failprimaryTerm
- the primary term associated with the primary shard that is failing the shard. Must be strictly positive.markAsStale
- whether or not to mark a failing shard as stale (eg. removing from in-sync set) when failing the shard.message
- the reason for the failurefailure
- the underlying cause of the failurelistener
- callback upon completion of the request
-
localShardFailed
public void localShardFailed(ShardRouting shardRouting, java.lang.String message, @Nullable java.lang.Exception failure, ActionListener<java.lang.Void> listener)Send a shard failed request to the master node to update the cluster state when a shard on the local node failed. -
localShardFailed
public void localShardFailed(ShardRouting shardRouting, java.lang.String message, @Nullable java.lang.Exception failure, ActionListener<java.lang.Void> listener, ClusterState currentState)Send a shard failed request to the master node to update the cluster state when a shard on the local node failed. -
waitForNewMasterAndRetry
protected void waitForNewMasterAndRetry(java.lang.String actionName, ClusterStateObserver observer, TransportRequest request, ActionListener<java.lang.Void> listener, java.util.function.Predicate<ClusterState> changePredicate) -
shardStarted
public void shardStarted(ShardRouting shardRouting, long primaryTerm, java.lang.String message, ActionListener<java.lang.Void> listener) -
shardStarted
public void shardStarted(ShardRouting shardRouting, long primaryTerm, java.lang.String message, ActionListener<java.lang.Void> listener, ClusterState currentState)
-