diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-08-18 10:39:52 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-08-18 10:39:52 +0200 |
commit | 9dc4c09252afbdb352805e87d54a3c4a75d4d49b (patch) | |
tree | ebc43a6e8fc2be1b071b56b3b4b8be3c36d3cca3 /configserver | |
parent | f201978bbe446989bd2b6b749ff4d6c42807026f (diff) | |
parent | ef6227ebc92c625081f703a806e0b0c2c02a5a1c (diff) |
Merge branch 'master' into hmusum/move-methods-to-Session
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java | 11 |
1 files changed, 5 insertions, 6 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 03769d0a537..b38d90d470f 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 @@ -47,7 +47,6 @@ import java.time.Clock; import java.time.Duration; import java.time.Instant; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -317,8 +316,7 @@ public class SessionRepository { getRemoteSessions().forEach(this::sessionAdded); } - private synchronized void sessionsChanged() throws NumberFormatException { - List<Long> sessions = getSessionListFromDirectoryCache(directoryCache.getCurrentData()); + private synchronized void sessionsChanged(List<Long> sessions) throws NumberFormatException { checkForRemovedSessions(sessions); checkForAddedSessions(sessions); } @@ -418,14 +416,15 @@ public class SessionRepository { private void childEvent(CuratorFramework ignored, PathChildrenCacheEvent event) { zkWatcherExecutor.execute(() -> { log.log(Level.FINE, () -> "Got child event: " + event); + List<Long> sessions = getSessionListFromDirectoryCache(directoryCache.getCurrentData()); switch (event.getType()) { case CHILD_ADDED: - sessionsChanged(); - synchronizeOnNew(getSessionListFromDirectoryCache(Collections.singletonList(event.getData()))); + sessionsChanged(sessions); + synchronizeOnNew(sessions); break; case CHILD_REMOVED: case CONNECTION_RECONNECTED: - sessionsChanged(); + sessionsChanged(sessions); break; } }); |