From 4a5925904269a8651b9db022349cc7fac786b3e7 Mon Sep 17 00:00:00 2001 From: "ievgen.degtiarenko" Date: Fri, 27 Jan 2023 16:30:34 +0100 Subject: [PATCH] Fix testSearchRouting In some unlucky situations the test sets a prefference for shard 1 and a routing that points to a completely different shard. Updating the test so it is setting only one of them at the time. --- .../cluster/routing/ShardRoutingRoleIT.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/server/src/internalClusterTest/java/org/elasticsearch/cluster/routing/ShardRoutingRoleIT.java b/server/src/internalClusterTest/java/org/elasticsearch/cluster/routing/ShardRoutingRoleIT.java index b3bcb1ff15e43..5b47e6d08acc4 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/cluster/routing/ShardRoutingRoleIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/cluster/routing/ShardRoutingRoleIT.java @@ -399,7 +399,6 @@ public AllocationCommand getCancelPrimaryCommand() { return null; } - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/93292") public void testSearchRouting() { var routingTableWatcher = new RoutingTableWatcher(); @@ -441,15 +440,15 @@ public void testSearchRouting() { } for (int i = 0; i < 10; i++) { - final var requestBuilder = client().prepareSearch(INDEX_NAME).setProfile(true); - if (randomBoolean()) { - requestBuilder.setRouting(randomAlphaOfLength(10)); - } - if (randomBoolean()) { - requestBuilder.setPreference(randomSearchPreference(routingTableWatcher.numShards, internalCluster().getNodeNames())); + final var search = client().prepareSearch(INDEX_NAME).setProfile(true); + switch (randomIntBetween(0, 2)) { + case 0 -> search.setRouting(randomAlphaOfLength(10)); + case 1 -> search.setPreference(randomSearchPreference(routingTableWatcher.numShards, internalCluster().getNodeNames())); + default -> { + // do nothing + } } - - final var profileResults = requestBuilder.get().getProfileResults(); + final var profileResults = search.get().getProfileResults(); assertThat(profileResults, not(anEmptyMap())); for (final var searchShardProfileKey : profileResults.keySet()) { assertThat(searchShardProfileKeys, hasItem(searchShardProfileKey));