summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchGroups.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchGroups.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchGroups.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchGroups.java b/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchGroups.java
index cdbc3365409..5727931281a 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchGroups.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchGroups.java
@@ -1,8 +1,14 @@
package com.yahoo.search.dispatch.searchcluster;
+import com.yahoo.stream.CustomCollectors;
+
import java.util.Collection;
+import java.util.Comparator;
+import java.util.LinkedHashSet;
import java.util.Set;
+import static java.util.Comparator.comparingInt;
+import static java.util.stream.Collectors.toCollection;
import static java.util.stream.Collectors.toSet;
/**
@@ -16,7 +22,11 @@ public interface SearchGroups {
default boolean isEmpty() {
return size() == 0;
}
- default Set<Node> nodes() { return groups().stream().flatMap(group -> group.nodes().stream()).collect(toSet());}
+ default Set<Node> nodes() {
+ return groups().stream().flatMap(group -> group.nodes().stream())
+ .sorted(comparingInt(Node::key))
+ .collect(toCollection(LinkedHashSet::new));
+ }
int size();
boolean isPartialGroupCoverageSufficient(Collection<Node> nodes);
}