diff options
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.java | 16 |
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(); |