summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-08-18 10:39:52 +0200
committerHarald Musum <musum@verizonmedia.com>2020-08-18 10:39:52 +0200
commit9dc4c09252afbdb352805e87d54a3c4a75d4d49b (patch)
treeebc43a6e8fc2be1b071b56b3b4b8be3c36d3cca3 /configserver
parentf201978bbe446989bd2b6b749ff4d6c42807026f (diff)
parentef6227ebc92c625081f703a806e0b0c2c02a5a1c (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.java11
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;
}
});