Class ShardStateAction
- java.lang.Object
-
- org.elasticsearch.common.component.AbstractComponent
-
- org.elasticsearch.cluster.action.shard.ShardStateAction
-
public class ShardStateAction extends AbstractComponent
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ShardStateAction.FailedShardEntry
static interface
ShardStateAction.Listener
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 java.lang.String
SHARD_FAILED_ACTION_NAME
static java.lang.String
SHARD_STARTED_ACTION_NAME
-
Fields inherited from class org.elasticsearch.common.component.AbstractComponent
logger
-
-
Constructor Summary
Constructors Constructor Description ShardStateAction(ClusterService clusterService, TransportService transportService, AllocationService allocationService, RoutingService routingService, ThreadPool threadPool)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
localShardFailed(ShardRouting shardRouting, java.lang.String message, java.lang.Exception failure, ShardStateAction.Listener 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, ShardStateAction.Listener 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, ShardStateAction.Listener 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, java.lang.String message, ShardStateAction.Listener listener)
void
shardStarted(ShardRouting shardRouting, java.lang.String message, ShardStateAction.Listener listener, ClusterState currentState)
protected void
waitForNewMasterAndRetry(java.lang.String actionName, ClusterStateObserver observer, TransportRequest request, ShardStateAction.Listener listener, java.util.function.Predicate<ClusterState> changePredicate)
-
-
-
Field Detail
-
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
-
-
Constructor Detail
-
ShardStateAction
@Inject public ShardStateAction(ClusterService clusterService, TransportService transportService, AllocationService allocationService, RoutingService routingService, ThreadPool threadPool)
-
-
Method Detail
-
remoteShardFailed
public void remoteShardFailed(ShardId shardId, java.lang.String allocationId, long primaryTerm, boolean markAsStale, java.lang.String message, @Nullable java.lang.Exception failure, ShardStateAction.Listener 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, ShardStateAction.Listener 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, ShardStateAction.Listener 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, ShardStateAction.Listener listener, java.util.function.Predicate<ClusterState> changePredicate)
-
shardStarted
public void shardStarted(ShardRouting shardRouting, java.lang.String message, ShardStateAction.Listener listener)
-
shardStarted
public void shardStarted(ShardRouting shardRouting, java.lang.String message, ShardStateAction.Listener listener, ClusterState currentState)
-
-