summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/query/SessionId.java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-08-17 12:02:54 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-08-17 12:02:54 +0200
commit5c02907d07d6f1fad744979fc9a36a79b1d80650 (patch)
tree27d79302aa398e8bd931f64e34d4a2156aae2cbd /container-search/src/main/java/com/yahoo/search/query/SessionId.java
parent490cdebe067f598055648009327a463e68bdfc44 (diff)
Use your own rankprofile, and avoid breaking public API.
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/query/SessionId.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/SessionId.java24
1 files changed, 9 insertions, 15 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/query/SessionId.java b/container-search/src/main/java/com/yahoo/search/query/SessionId.java
index b4b844961f6..38fdadd7c59 100644
--- a/container-search/src/main/java/com/yahoo/search/query/SessionId.java
+++ b/container-search/src/main/java/com/yahoo/search/query/SessionId.java
@@ -1,7 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.query;
-import com.yahoo.container.Server;
+import com.yahoo.text.Utf8String;
+
import java.util.concurrent.atomic.AtomicLong;
/**
@@ -12,23 +13,16 @@ import java.util.concurrent.atomic.AtomicLong;
*/
public class SessionId {
- private static final String serverId = Server.get().getServerDiscriminator();
- private static final AtomicLong sequenceCounter = new AtomicLong();
-
- private final String id;
+ private final Utf8String id;
- private SessionId(String serverId, long timestamp, long sequence) {
- this.id = serverId + "." + timestamp + "." + sequence;
+ public SessionId(UniqueRequestId requestId, String extraDifferentiator) {
+ this.id = new Utf8String(requestId.toString() + "." + extraDifferentiator);
}
- public String toString() { return id; }
-
- /**
- * Creates a session id which is unique across the cluster this runtime is a member of each time this is called.
- * Calling this causes synchronization.
- */
- public static SessionId next() {
- return new SessionId(serverId, System.currentTimeMillis(), sequenceCounter.getAndIncrement());
+ @Override
+ public String toString() {
+ return id.toString();
}
+ public Utf8String asUtf8String() { return id; }
}