diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-08-28 20:54:42 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-08-28 20:54:42 +0200 |
commit | 3b8339676cfd2e2b3c02d10b50e9b15812454145 (patch) | |
tree | f6e5749dbba4d8b62f10a682810f9aef104f4b29 /container-search/src | |
parent | 2a0a35a68edc3f604aa1747ffbbdefbd821c5470 (diff) |
Make assignment of sessionid independent of wether getSessionId(true) has been called prior to clone().
Now it will behave as if getSessionId() has NOT been called, which is what is considered current behavior by 99% of usage patterns.
Diffstat (limited to 'container-search/src')
-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 |