Class ShardStateAction

java.lang.Object
org.elasticsearch.cluster.action.shard.ShardStateAction

public class ShardStateAction
extends java.lang.Object
  • 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

      public static final Setting<Priority> 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

  • 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 fail
      allocationId - allocation id of the shard to fail
      primaryTerm - 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 failure
      failure - the underlying cause of the failure
      listener - 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)