Class NodeVersionAllocationDecider
java.lang.Object
org.elasticsearch.cluster.routing.allocation.decider.AllocationDecider
org.elasticsearch.cluster.routing.allocation.decider.NodeVersionAllocationDecider
public class NodeVersionAllocationDecider extends AllocationDecider
An allocation decider that prevents relocation or allocation from nodes
that might not be version compatible. If we relocate from a node that runs
a newer version than the node we relocate to this might cause
IndexFormatTooNewException
on the lowest level since it might have already written segments that use a new postings format or codec that is not
available on the target node.-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
NAME
-
Constructor Summary
Constructors Constructor Description NodeVersionAllocationDecider()
-
Method Summary
Modifier and Type Method Description Decision
canAllocate(ShardRouting shardRouting, RoutingNode node, RoutingAllocation allocation)
Returns aDecision
whether the given shard routing can be allocated on the given node.Methods inherited from class org.elasticsearch.cluster.routing.allocation.decider.AllocationDecider
canAllocate, canAllocate, canAllocate, canForceAllocatePrimary, canRebalance, canRebalance, canRemain, shouldAutoExpandToNode
-
Field Details
-
NAME
public static final java.lang.String NAME- See Also:
- Constant Field Values
-
-
Constructor Details
-
NodeVersionAllocationDecider
public NodeVersionAllocationDecider()
-
-
Method Details
-
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
-