Closed as not planned
Description
Description
👋 howdy, team!
In the situation of 2 hot and 1 warm node which can block ILM migrations for indices hot>warm, it would be nice if a Cluster Reroute > allocate_replica
request allowed assigning the replica to data_hot
even when its index.routing.allocation.include._tier_preference
is data_warm,data_hot
.
Example
-
2 hot nodes (
instance-0000000009
,instance-0000000008
) & 1 warm node (instance-0000000010
) -
index
test
is 1p1r with primary on warm#10 and replica unassigned -
attempt Cluster Reroute to send
_tier_preference: data_warm,data_hot
replica todata_hot
and error that notdata_warm
POST _cluster/reroute {"commands":[{"allocate_replica":{ "index" : "test", "shard" : 0, "node" : "instance-0000000009" }}]} { "error": { "type": "illegal_argument_exception", "reason": "[allocate_replica] allocation of [test][0] on node {instance-0000000009}{...}{himrst}{8.9.2}{...} is not allowed, reason: [ YES(shard has no previous failures)][ YES(primary shard for this replica is already active)][ YES(explicitly ignoring any disabling of allocation due to manual allocation commands via the reroute API)][ YES(can allocate replica shard to a node with version [8.9.2] since this is equal-or-newer than the primary version [8.9.2])][ YES(the shard is not being snapshotted)][ YES(ignored as shard is not being recovered from a snapshot)][ YES(no nodes are shutting down)][ YES(there are no ongoing node replacements)][ YES(node passes include/exclude/require filters)][ YES(this node does not hold a copy of this shard)][ YES(enough disk for shard on node, free: [321.3gb], used: [28.5%], shard size: [0b], free after allocating shard: [321.3gb])][ YES(below shard recovery limit of outgoing: [0 < 2] incoming: [0 < 2])][ YES(total shard limits are disabled: [index: -1, cluster: -1] <= 0)][ YES(node meets all awareness attribute requirements)][ - NO(index has a preference for tiers [data_warm,data_hot] and node does not meet the required [data_warm] tier)][ YES(shard is not a follower and is not under the purview of this decider)][ YES(decider only applicable for indices backed by searchable snapshots)][ YES(this decider only applies to indices backed by searchable snapshots)][ YES(decider only applicable for indices backed by searchable snapshots)][ YES(this node's data roles are not exactly [data_frozen] so it is not a dedicated frozen node)][ YES(decider only applicable for indices backed by archive functionality) ]" }, "status": 400 }
TIA! 🙏