summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2021-10-22 13:07:52 +0200
committerHarald Musum <musum@yahooinc.com>2021-10-22 13:07:52 +0200
commit0e2f3d2f8b2b6f776477376e2fb0b0d2634159a7 (patch)
tree0d0c812b7280cda1a7aa7fdc7ad8c293a6ecf501
parent80c901e774e8f03fa9918877b30ba878d89d208e (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.java3
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() + ")");