diff options
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java | 13 |
1 files changed, 2 insertions, 11 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 d6d7de70ebc..95be59e4d26 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 @@ -346,25 +346,16 @@ public class SessionRepository { } public int deleteExpiredRemoteSessions(Clock clock, Duration expiryTime) { - List<Long> remoteSessionsFromZooKeeper = getRemoteSessionsFromZooKeeper(); - log.log(Level.FINE, () -> "Remote sessions for tenant " + tenantName + ": " + remoteSessionsFromZooKeeper); - int deleted = 0; - for (long sessionId : remoteSessionsFromZooKeeper) { + for (long sessionId : getRemoteSessionsFromZooKeeper()) { Session session = remoteSessionCache.get(sessionId); - if (session == null) { - log.log(Level.FINE, () -> "Remote session " + sessionId + " is null, creating a new one"); - session = new RemoteSession(tenantName, sessionId, createSessionZooKeeperClient(sessionId)); - } + if (session == null) continue; // Internal sessions not in sync with zk, continue if (session.getStatus() == Session.Status.ACTIVATE) continue; if (sessionHasExpired(session.getCreateTime(), expiryTime, clock)) { log.log(Level.FINE, () -> "Remote session " + sessionId + " for " + tenantName + " has expired, deleting it"); deleteRemoteSessionFromZooKeeper(session); deleted++; } - // Avoid deleting too many in one run - if (deleted > 100) - break; } return deleted; } |