summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-10-22 13:54:50 +0200
committerGitHub <noreply@github.com>2021-10-22 13:54:50 +0200
commit2e24dcc2305544da1a3eb281a302ac15bddec9f2 (patch)
tree0d0c812b7280cda1a7aa7fdc7ad8c293a6ecf501
parent80c901e774e8f03fa9918877b30ba878d89d208e (diff)
parent0e2f3d2f8b2b6f776477376e2fb0b0d2634159a7 (diff)
Merge pull request #19701 from vespa-engine/hmusum/guard-agains-active-session-not-existing
Guard against no active session
-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() + ")");