summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/query/SessionId.java
diff options
context:
space:
mode:
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.java27
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; }
}