From 23dea83ac813d3523dd5aefb422194be446d3188 Mon Sep 17 00:00:00 2001 From: Olli Virtanen Date: Tue, 6 Nov 2018 14:11:37 +0100 Subject: Avoid Query.clone which changes the sessionId (and the cache key) --- .../com/yahoo/search/dispatch/InterleavedSearchInvoker.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'container-search/src') 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 d80f3a49213..9ff43df87cf 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 @@ -33,13 +33,15 @@ public class InterleavedSearchInvoker extends SearchInvoker { */ @Override protected void sendSearchRequest(Query query, QueryPacket queryPacket) throws IOException { + int originalHits = query.getHits(); + int originalOffset = query.getOffset(); + query.setHits(query.getHits() + query.getOffset()); + query.setOffset(0); for (SearchInvoker invoker : invokers) { - Query subquery = query.clone(); - - subquery.setHits(subquery.getHits() + subquery.getOffset()); - subquery.setOffset(0); - invoker.sendSearchRequest(subquery, null); + invoker.sendSearchRequest(query, null); } + query.setHits(originalHits); + query.setOffset(originalOffset); } @Override -- cgit v1.2.3