aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-06-22 00:39:58 +0200
committerGitHub <noreply@github.com>2022-06-22 00:39:58 +0200
commit3177a9ad41e46632b03f9f5ccea4a42da52cabc4 (patch)
tree3f121a3b6aedda5c5695656cbe6e10ea505c2bb7
parent6720c2aab6d7b09363bf2dbce1db30da53243f6d (diff)
parent50546baaa418a22e4604d5bdf65b9f6ee673d857 (diff)
Merge pull request #23190 from vespa-engine/revert-23177-hmusum/synchronize-access
Revert "Synchronize access to sessionStateWatchers map [run-systemtest]"
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java26
1 files 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();