diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-08-21 12:29:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-21 12:29:45 +0200 |
commit | f088908ae437891446eef38d6752dd63b590a31d (patch) | |
tree | 53381a9fa9533c40238873563799f84b912bf0d2 /configserver | |
parent | 41aa82a4e6c4a45b1d179763238a557c560cf742 (diff) | |
parent | 03d3f98f61197b120be99dd40bfae5aff5de1bce (diff) |
Merge pull request #14084 from vespa-engine/revert-14063-hmusum/get-session-list-only-once
Revert "Avoid getting session list two times"
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java | 11 |
1 files changed, 6 insertions, 5 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 0d093f83ed0..2e6180aeb81 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 @@ -46,6 +46,7 @@ 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; @@ -316,7 +317,8 @@ public class SessionRepository { getRemoteSessions().forEach(this::sessionAdded); } - private synchronized void sessionsChanged(List<Long> sessions) throws NumberFormatException { + private synchronized void sessionsChanged() throws NumberFormatException { + List<Long> sessions = getSessionListFromDirectoryCache(directoryCache.getCurrentData()); checkForRemovedSessions(sessions); checkForAddedSessions(sessions); } @@ -416,15 +418,14 @@ 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(sessions); - synchronizeOnNew(sessions); + sessionsChanged(); + synchronizeOnNew(getSessionListFromDirectoryCache(Collections.singletonList(event.getData()))); break; case CHILD_REMOVED: case CONNECTION_RECONNECTED: - sessionsChanged(sessions); + sessionsChanged(); break; } }); |