diff options
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.java | 12 |
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); } |