Class MaxRetryAllocationDecider
- java.lang.Object
-
- org.elasticsearch.cluster.routing.allocation.decider.AllocationDecider
-
- org.elasticsearch.cluster.routing.allocation.decider.MaxRetryAllocationDecider
-
public class MaxRetryAllocationDecider extends AllocationDecider
An allocation decider that prevents shards from being allocated on any node if the shards allocation has been retried N times without success. This means if a shard has been INITIALIZING N times in a row without being moved to STARTED the shard will be ignored until the setting forindex.allocation.max_retry
is raised. The default value is5
. Note: This allocation decider also allows allocation of repeatedly failing shards when the/_cluster/reroute?retry_failed=true
API is manually invoked. This allows single retries without raising the limits.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
NAME
static Setting<java.lang.Integer>
SETTING_ALLOCATION_MAX_RETRY
-
Constructor Summary
Constructors Constructor Description MaxRetryAllocationDecider()
-
Method Summary
Modifier and Type Method Description Decision
canAllocate(ShardRouting shardRouting, RoutingAllocation allocation)
Returns aDecision
whether the given shard routing can be allocated at all at this state of theRoutingAllocation
.Decision
canAllocate(ShardRouting shardRouting, RoutingNode node, RoutingAllocation allocation)
Returns aDecision
whether the given shard routing can be allocated on the given node.Decision
canForceAllocatePrimary(ShardRouting shardRouting, RoutingNode node, RoutingAllocation allocation)
Returns aDecision
whether the given primary shard can be forcibly allocated on the given node.-
Methods inherited from class org.elasticsearch.cluster.routing.allocation.decider.AllocationDecider
canAllocate, canAllocate, canRebalance, canRebalance, canRemain
-
-
-
-
Field Detail
-
SETTING_ALLOCATION_MAX_RETRY
public static final Setting<java.lang.Integer> SETTING_ALLOCATION_MAX_RETRY
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
canAllocate
public Decision canAllocate(ShardRouting shardRouting, RoutingAllocation allocation)
Description copied from class:AllocationDecider
Returns aDecision
whether the given shard routing can be allocated at all at this state of theRoutingAllocation
. The default isDecision.ALWAYS
.- Overrides:
canAllocate
in classAllocationDecider
-
canAllocate
public Decision canAllocate(ShardRouting shardRouting, RoutingNode node, RoutingAllocation allocation)
Description copied from class:AllocationDecider
Returns aDecision
whether the given shard routing can be allocated on the given node. The default isDecision.ALWAYS
.- Overrides:
canAllocate
in classAllocationDecider
-
canForceAllocatePrimary
public Decision canForceAllocatePrimary(ShardRouting shardRouting, RoutingNode node, RoutingAllocation allocation)
Description copied from class:AllocationDecider
Returns aDecision
whether the given primary shard can be forcibly allocated on the given node. This method should only be called for unassigned primary shards where the node has a shard copy on disk. Note: all implementations that override this behavior should take into account the results ofAllocationDecider.canAllocate(ShardRouting, RoutingNode, RoutingAllocation)
before making a decision on force allocation, because force allocation should only be considered if all deciders returnDecision.NO
.- Overrides:
canForceAllocatePrimary
in classAllocationDecider
-
-