aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java16
1 files changed, 8 insertions, 8 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java b/container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java
index b4f04da5986..39be91cf3e8 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/InterleavedSearchInvoker.java
@@ -210,17 +210,17 @@ public class InterleavedSearchInvoker extends SearchInvoker implements ResponseM
indexPartial++;
}
}
- while ((indexCurrent < current.size()) && (merged.size() < needed)) {
- LeanHit currentHit = current.get(indexCurrent++);
- merged.add(currentHit);
- }
- while ((indexPartial < partial.size()) && (merged.size() < needed)) {
- LeanHit incomingHit = partial.get(indexPartial++);
- merged.add(incomingHit);
- }
+ appendRemainingIfNeeded(merged, needed, current, indexCurrent);
+ appendRemainingIfNeeded(merged, needed, partial, indexPartial);
return merged;
}
+ private void appendRemainingIfNeeded(List<LeanHit> merged, int needed, List<LeanHit> hits, int index) {
+ while ((index < hits.size()) && (merged.size() < needed)) {
+ merged.add(hits.get(index++));
+ }
+ }
+
private void ejectInvoker(SearchInvoker invoker) {
invokers.remove(invoker);
invoker.release();