Class FilterAllocationDecider
java.lang.Object
org.elasticsearch.cluster.routing.allocation.decider.AllocationDecider
org.elasticsearch.cluster.routing.allocation.decider.FilterAllocationDecider
This
AllocationDecider
control shard allocation by include and
exclude filters via dynamic cluster and index routing settings.
This filter is used to make explicit decision on which nodes certain shard
can / should be allocated. The decision if a shard can be allocated, must not
be allocated or should be allocated is based on either cluster wide dynamic
settings (cluster.routing.allocation.*
) or index specific dynamic
settings (index.routing.allocation.*
). All of those settings can be
changed at runtime via the cluster or the index update settings API.
required
- filters required allocations. If anyrequired
filters are set the allocation is denied if the index is not in the set ofrequired
to allocate on the filtered nodeinclude
- filters "allowed" allocations. If anyinclude
filters are set the allocation is denied if the index is not in the set ofinclude
filters for the filtered nodeexclude
- filters "prohibited" allocations. If anyexclude
filters are set the allocation is denied if the index is in the set ofexclude
filters for the filtered node
-
Field Summary
Modifier and TypeFieldDescriptionstatic Setting.AffixSetting<String>
static Setting.AffixSetting<String>
static Setting.AffixSetting<String>
static String
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncanAllocate(IndexMetadata indexMetadata, RoutingNode node, RoutingAllocation allocation)
Returns aDecision
whether the given shard routing can be allocated at all at this state of theRoutingAllocation
.canAllocate(ShardRouting shardRouting, RoutingNode node, RoutingAllocation allocation)
Returns aDecision
whether the given shard routing can be allocated on the given node.canRemain(ShardRouting shardRouting, RoutingNode node, RoutingAllocation allocation)
Returns aDecision
whether the given shard routing can be remain on the given node.shouldAutoExpandToNode(IndexMetadata indexMetadata, DiscoveryNode node, RoutingAllocation allocation)
Returns aDecision
whether shards of the given index should be auto-expanded to this node at this state of theRoutingAllocation
.Methods inherited from class org.elasticsearch.cluster.routing.allocation.decider.AllocationDecider
canAllocate, canForceAllocatePrimary, canRebalance, canRebalance
-
Field Details
-
NAME
- See Also:
- Constant Field Values
-
CLUSTER_ROUTING_REQUIRE_GROUP_SETTING
-
CLUSTER_ROUTING_INCLUDE_GROUP_SETTING
-
CLUSTER_ROUTING_EXCLUDE_GROUP_SETTING
-
-
Constructor Details
-
FilterAllocationDecider
-
-
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
-
canAllocate
public Decision canAllocate(IndexMetadata indexMetadata, RoutingNode node, 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
-
canRemain
public Decision canRemain(ShardRouting shardRouting, RoutingNode node, RoutingAllocation allocation)Description copied from class:AllocationDecider
Returns aDecision
whether the given shard routing can be remain on the given node. The default isDecision.ALWAYS
.- Overrides:
canRemain
in classAllocationDecider
-
shouldAutoExpandToNode
public Decision shouldAutoExpandToNode(IndexMetadata indexMetadata, DiscoveryNode node, RoutingAllocation allocation)Description copied from class:AllocationDecider
Returns aDecision
whether shards of the given index should be auto-expanded to this node at this state of theRoutingAllocation
. The default isDecision.ALWAYS
.- Overrides:
shouldAutoExpandToNode
in classAllocationDecider
-