From 50546baaa418a22e4604d5bdf65b9f6ee673d857 Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Wed, 22 Jun 2022 00:21:33 +0200 Subject: Revert "Synchronize access to sessionStateWatchers map [run-systemtest]" --- .../config/server/session/SessionRepository.java | 26 ++++++++-------------- 1 file changed, 9 insertions(+), 17 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 9b8abbf4cf6..059d192e7d2 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 @@ -315,7 +315,7 @@ public class SessionRepository { public void deleteLocalSession(LocalSession session) { long sessionId = session.getSessionId(); log.log(Level.FINE, () -> "Deleting local session " + sessionId); - SessionStateWatcher watcher = removeSessionStateWatcher(sessionId); + SessionStateWatcher watcher = sessionStateWatchers.remove(sessionId); if (watcher != null) watcher.close(); localSessionCache.remove(sessionId); NestedTransaction transaction = new NestedTransaction(); @@ -323,12 +323,6 @@ public class SessionRepository { transaction.commit(); } - private SessionStateWatcher removeSessionStateWatcher(long sessionId) { - synchronized (sessionStateWatchers) { - return sessionStateWatchers.remove(sessionId); - } - } - private void deleteAllSessions() { for (LocalSession session : getLocalSessions()) { deleteLocalSession(session); @@ -892,15 +886,13 @@ public class SessionRepository { } private void updateSessionStateWatcher(long sessionId, RemoteSession remoteSession) { - synchronized (sessionStateWatchers) { - SessionStateWatcher sessionStateWatcher = sessionStateWatchers.get(sessionId); - if (sessionStateWatcher == null) { - Curator.FileCache fileCache = curator.createFileCache(getSessionStatePath(sessionId).getAbsolute(), false); - fileCache.addListener(this::nodeChanged); - sessionStateWatchers.put(sessionId, new SessionStateWatcher(fileCache, remoteSession, metricUpdater, zkWatcherExecutor, this)); - } else { - sessionStateWatcher.updateRemoteSession(remoteSession); - } + SessionStateWatcher sessionStateWatcher = sessionStateWatchers.get(sessionId); + if (sessionStateWatcher == null) { + Curator.FileCache fileCache = curator.createFileCache(getSessionStatePath(sessionId).getAbsolute(), false); + fileCache.addListener(this::nodeChanged); + sessionStateWatchers.put(sessionId, new SessionStateWatcher(fileCache, remoteSession, metricUpdater, zkWatcherExecutor, this)); + } else { + sessionStateWatcher.updateRemoteSession(remoteSession); } } @@ -936,7 +928,7 @@ public class SessionRepository { long sessionId = it.next().sessionId; if (existingSessions.contains(sessionId)) continue; - SessionStateWatcher watcher = removeSessionStateWatcher(sessionId); + SessionStateWatcher watcher = sessionStateWatchers.remove(sessionId); if (watcher != null) watcher.close(); it.remove(); metricUpdater.incRemovedSessions(); -- cgit v1.2.3