diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/WriteLoadConstraintDecider.java b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/WriteLoadConstraintDecider.java index 08c661adf37e7..a2993b1ee988f 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/WriteLoadConstraintDecider.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/WriteLoadConstraintDecider.java @@ -129,13 +129,6 @@ public Decision canRemain(IndexMetadata indexMetadata, ShardRouting shardRouting return Decision.single(Decision.Type.YES, NAME, "canRemain() is not enabled"); } - // Check whether the shard being relocated has any write load estimate. If it does not, then this decider has no opinion. - var allShardWriteLoads = allocation.clusterInfo().getShardWriteLoads(); - var shardWriteLoad = allShardWriteLoads.get(shardRouting.shardId()); - if (shardWriteLoad == null || shardWriteLoad == 0) { - return Decision.single(Decision.Type.YES, NAME, "Shard has no estimated write load. Decider takes no action."); - } - var allNodeUsageStats = allocation.clusterInfo().getNodeUsageStatsForThreadPools(); var nodeUsageStatsForThreadPools = allNodeUsageStats.get(node.nodeId()); if (nodeUsageStatsForThreadPools == null) { diff --git a/server/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/WriteLoadConstraintDeciderTests.java b/server/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/WriteLoadConstraintDeciderTests.java index 61f40dd831a81..5a313691be218 100644 --- a/server/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/WriteLoadConstraintDeciderTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/WriteLoadConstraintDeciderTests.java @@ -234,8 +234,8 @@ public void testWriteLoadDeciderCanRemain() { ).type() ); assertEquals( - "A shard without write load should remain on a node with queuing above the threshold", - Decision.Type.YES, + "A shard with no write load can still return NOT_PREFERRED", + Decision.Type.NOT_PREFERRED, writeLoadDecider.canRemain( testHarness.clusterState.metadata().getProject().index(indexName), testHarness.shardRoutingNoWriteLoad,