diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-08-17 12:02:54 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-08-17 12:02:54 +0200 |
commit | 5c02907d07d6f1fad744979fc9a36a79b1d80650 (patch) | |
tree | 27d79302aa398e8bd931f64e34d4a2156aae2cbd /container-search/src/main/java/com/yahoo/search/query/SessionId.java | |
parent | 490cdebe067f598055648009327a463e68bdfc44 (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.java | 24 |
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; } } |