aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-05-10 14:08:15 +0200
committerJon Bratseth <bratseth@gmail.com>2021-05-10 14:08:15 +0200
commit5f092b78c4e51354ac2bd466fbeb4c0f5e0077b5 (patch)
tree4f2f751ec0062343cf77df7ecd67222a3943ca87 /container-search/src/test/java/com/yahoo/search/dispatch/searchcluster
parent257e0e2fca7b0ff0a15210909116162c925a11b7 (diff)
Don't consider number of working nodes in coverage
Tring to figure out the right groups to send queries to based on the number of nodes in the group has many potential issues at times of topology changes. Since we could the number of documents available in each group by summing documents in working nodes, we do not need to also separately consider the number of working nodes in the group for correctness. Since we use adaptive dispatching by default we also do not need to consider it to avoid overloading groups with less resources available but enough documents.
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search/dispatch/searchcluster')
-rw-r--r--container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterCoverageTest.java18
1 files changed, 16 insertions, 2 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterCoverageTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterCoverageTest.java
index 6338107d4b6..65e7173c4ee 100644
--- a/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterCoverageTest.java
+++ b/container-search/src/test/java/com/yahoo/search/dispatch/searchcluster/SearchClusterCoverageTest.java
@@ -74,10 +74,10 @@ public class SearchClusterCoverageTest {
@Test
public void three_groups_one_has_a_node_down() {
- var tester = new SearchClusterTester(3, 3);
+ var tester = new SearchClusterTester(3, 3);
tester.setDocsPerNode(100, 0);
- tester.setDocsPerNode(150, 1);
+ tester.setDocsPerNode(100, 1);
tester.setDocsPerNode(100, 2);
tester.setWorking(1, 1, false);
tester.pingIterationCompleted();
@@ -86,4 +86,18 @@ public class SearchClusterCoverageTest {
assertTrue(tester.group(2).hasSufficientCoverage());
}
+ @Test
+ public void three_groups_one_has_a_node_down_but_remaining_has_enough_docs() {
+ var tester = new SearchClusterTester(3, 3);
+
+ tester.setDocsPerNode(100, 0);
+ tester.setDocsPerNode(150, 1);
+ tester.setDocsPerNode(100, 2);
+ tester.setWorking(1, 1, false);
+ tester.pingIterationCompleted();
+ assertTrue(tester.group(0).hasSufficientCoverage());
+ assertTrue("Sufficient documents on remaining two nodes", tester.group(1).hasSufficientCoverage());
+ assertTrue(tester.group(2).hasSufficientCoverage());
+ }
+
}