diff options
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 | 27 |
1 files changed, 8 insertions, 19 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 5831b10c88d..c6e34e7e430 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,36 +1,25 @@ // 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; - /** - * A query id which is unique across this cluster - consisting of - * container runtime id + timestamp + serial. + * A id which is unique across this cluster + the extra differentiator. * - * @author bratseth + * @author baldersheim */ public class SessionId { - private static final String serverId = Server.get().getServerDiscriminator(); - private static final AtomicLong sequenceCounter = new AtomicLong(); - private final Utf8String id; - private SessionId(String serverId, long timestamp, long sequence) { - this.id = new Utf8String(serverId + "." + timestamp + "." + sequence); + public SessionId(UniqueRequestId requestId, String extraDifferentiator) { + this.id = new Utf8String(requestId.toString() + "." + extraDifferentiator); } - public Utf8String asUtf8String() { 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; } } |