Class ShardStateAction

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

public class ShardStateAction extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • remoteShardFailed

      public void remoteShardFailed(ShardId shardId, String allocationId, long primaryTerm, boolean markAsStale, String message, @Nullable Exception failure, ActionListener<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
    • clearRemoteShardRequestDeduplicator

      public void clearRemoteShardRequestDeduplicator()
      Clears out remoteShardStateUpdateDeduplicator. Called by IndicesClusterStateService in case of a master failover to enable sending fresh requests to the new master right away on master failover. This method is best effort in so far that it might clear out valid requests in edge cases during master failover. This is not an issue functionally and merely results in some unnecessary transport requests.
    • localShardFailed

      public void localShardFailed(ShardRouting shardRouting, String message, @Nullable Exception failure, ActionListener<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, String message, @Nullable Exception failure, ActionListener<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(String actionName, ClusterStateObserver observer, TransportRequest request, ActionListener<Void> listener, Predicate<ClusterState> changePredicate)
    • shardStarted

      public void shardStarted(ShardRouting shardRouting, long primaryTerm, String message, ShardLongFieldRange timestampRange, ActionListener<Void> listener)
    • shardStarted

      public void shardStarted(ShardRouting shardRouting, long primaryTerm, String message, ShardLongFieldRange timestampRange, ActionListener<Void> listener, ClusterState currentState)