diff options
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/Query.java | 1 | ||||
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java | 11 |
2 files changed, 8 insertions, 4 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/Query.java b/container-search/src/main/java/com/yahoo/search/Query.java index 23da30120da..53b39046f1d 100644 --- a/container-search/src/main/java/com/yahoo/search/Query.java +++ b/container-search/src/main/java/com/yahoo/search/Query.java @@ -936,6 +936,7 @@ public class Query extends com.yahoo.processing.Request implements Cloneable { clone.setOffset(getOffset()); clone.setNoCache(getNoCache()); clone.setGroupingSessionCache(getGroupingSessionCache()); + clone.requestId = null; // Each clone should have their own requestId. } /** Returns the presentation to be used for this query, never null */ diff --git a/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java b/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java index 0e9451685cb..e59c03b33c3 100644 --- a/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java @@ -653,11 +653,14 @@ public class QueryTestCase { Query q2 = new Query(); assertNotEquals(q.getSessionId(false), q2.getSessionId(true)); assertNotEquals(q.getSessionId(false).toString(), q2.getSessionId(true).toString()); - - // This is not required, but just to document current implementation. + } + @Test + public void testThatCloneGetANewSessionId() { + Query q = new Query(); + q.getSessionId(true); Query clonedQ = q.clone(); - assertNotNull(clonedQ.getSessionId(false)); - assertEquals(q.getSessionId(false), q.getSessionId(false)); + assertNull(clonedQ.getSessionId(false)); + assertNotEquals(q.getSessionId(false), clonedQ.getSessionId(true)); } @Test |