diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-05-10 14:08:15 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-05-10 14:08:15 +0200 |
commit | 5f092b78c4e51354ac2bd466fbeb4c0f5e0077b5 (patch) | |
tree | 4f2f751ec0062343cf77df7ecd67222a3943ca87 /container-search/src/test/java/com/yahoo/search/dispatch/searchcluster | |
parent | 257e0e2fca7b0ff0a15210909116162c925a11b7 (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.java | 18 |
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()); + } + } |