summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-02-14 09:18:59 +0100
committerHarald Musum <musum@yahooinc.com>2023-02-14 09:18:59 +0100
commit82c8ac8c8a7747a722916ec5afb2571614632ebb (patch)
tree5b2c78ace31314e27e00f2e32c1af58432109afe
parent4e82dfe385a2229959fbcac6f0a10846c12d7b5d (diff)
Add flag controlling config server session expiry time
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java2
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java9
2 files changed, 10 insertions, 1 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
index e9aecea5a8b..9210a62ea5f 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
@@ -354,7 +354,7 @@ public class SessionRepository {
}
public int deleteExpiredRemoteSessions(Clock clock) {
- Duration expiryTime = sessionLifetime.multipliedBy(2);
+ Duration expiryTime = Duration.ofSeconds(PermanentFlags.CONFIG_SERVER_SESSION_EXPIRY_TIME.bindTo(flagSource).value());
List<Long> remoteSessionsFromZooKeeper = getRemoteSessionsFromZooKeeper();
log.log(Level.FINE, () -> "Remote sessions for tenant " + tenantName + ": " + remoteSessionsFromZooKeeper);
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java b/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java
index 05173796b60..f609b5558e9 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/PermanentFlags.java
@@ -321,6 +321,15 @@ public class PermanentFlags {
"Takes effect on next redeployment",
APPLICATION_ID);
+ public static final UnboundLongFlag CONFIG_SERVER_SESSION_EXPIRY_TIME = defineLongFlag(
+ // TODO: Lower to 3600, which is default session expiry time
+ "config-server-session-expiry-time", 3600 * 2,
+ "Expiry time for remote sessions (session in ZooKeeper). Default should be equal to session lifetime, " +
+ "but can be lowered if there are incidents/bugs where one needs to delete sessions",
+ "Takes effect immediately",
+ ZONE_ID
+ );
+
private PermanentFlags() {}
private static UnboundBooleanFlag defineFeatureFlag(