diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-03-09 11:41:36 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-03-09 11:41:36 +0100 |
commit | 67939802b486126d5b07ee3e1ab1b2795939e575 (patch) | |
tree | 7d16b57711ece18d569694d775473be3ec996e81 /container-search | |
parent | a91fe34bdf10232b3a48ee2c83d380c0a02abf9a (diff) |
Don't assume equal-sized groups
Diffstat (limited to 'container-search')
3 files changed, 4 insertions, 11 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java index 7f411bbc80f..27a45753bb5 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FastSearcher.java @@ -81,7 +81,7 @@ public class FastSearcher extends VespaBackEndSearcher { @Override public Result doSearch2(Query query, Execution execution) { - if (dispatcher.searchCluster().wantedGroupSize() == 1) + if (dispatcher.searchCluster().allGroupsHaveSize1()) forceSinglePassGrouping(query); try (SearchInvoker invoker = getSearchInvoker(query)) { Result result = invoker.search(query, execution); diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java b/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java index 50e120a1c5e..a048dfd31d6 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java @@ -143,13 +143,8 @@ public class SearchCluster implements NodeManager<Node> { } } - /** - * Returns the wanted number of nodes per group - size()/groups.size(). - * The actual node count for a given group may differ due to node retirements. - */ - public int wantedGroupSize() { - if (groups().size() == 0) return size(); - return size() / groups().size(); + public boolean allGroupsHaveSize1() { + return size() == groups().size(); } public int groupsWithSufficientCoverage() { diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/MockSearchCluster.java b/container-search/src/test/java/com/yahoo/search/dispatch/MockSearchCluster.java index 54c8c1e0522..6996bd3f738 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/MockSearchCluster.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/MockSearchCluster.java @@ -71,9 +71,7 @@ public class MockSearchCluster extends SearchCluster { } @Override - public int wantedGroupSize() { - return numNodesPerGroup; - } + public boolean allGroupsHaveSize1() { return numNodesPerGroup == 1;} @Override public int groupsWithSufficientCoverage() { |