diff options
author | Harald Musum <musum@yahooinc.com> | 2021-10-22 13:07:52 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2021-10-22 13:07:52 +0200 |
commit | 0e2f3d2f8b2b6f776477376e2fb0b0d2634159a7 (patch) | |
tree | 0d0c812b7280cda1a7aa7fdc7ad8c293a6ecf501 | |
parent | 80c901e774e8f03fa9918877b30ba878d89d208e (diff) |
Guard against no active session
Application might be removed adter getting all active applications
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java | 3 |
1 files changed, 2 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 083cb535bfa..0aeea5ce2d5 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 @@ -433,7 +433,8 @@ public class SessionRepository { private Optional<RemoteSession> loadSessionIfActive(RemoteSession session) { for (ApplicationId applicationId : applicationRepo.activeApplications()) { - if (applicationRepo.requireActiveSessionOf(applicationId) == session.getSessionId()) { + Optional<Long> activeSession = applicationRepo.activeSessionOf(applicationId); + if (activeSession.isPresent() && activeSession.get() == session.getSessionId()) { log.log(Level.FINE, () -> "Found active application for session " + session.getSessionId() + " , loading it"); applicationRepo.activateApplication(ensureApplicationLoaded(session), session.getSessionId()); log.log(Level.INFO, session.logPre() + "Application activated successfully: " + applicationId + " (generation " + session.getSessionId() + ")"); |