summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2019-07-21 17:46:23 +0200
committerHarald Musum <musum@verizonmedia.com>2019-07-21 17:46:23 +0200
commit9503ee5d99ebb373b45a837353bbddd4d42336b7 (patch)
treeba5677eeb7b5ae7c42cdf9f4d4ce6980a857aa18 /configserver
parent344f131dde68738a351f35afbdef504c995f6ca3 (diff)
Read node data only once after session node changes
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionStateWatcher.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionStateWatcher.java10
2 files changed, 7 insertions, 9 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionStateWatcher.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionStateWatcher.java
index 53a472c2b67..d5a87b3c45e 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionStateWatcher.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionStateWatcher.java
@@ -63,9 +63,9 @@ public class LocalSessionStateWatcher {
public void nodeChanged() {
zkWatcherExecutor.execute(() -> {
try {
- ChildData data = fileCache.getCurrentData();
- if (data != null) {
- sessionChanged(Session.Status.parse(Utf8.toString(fileCache.getCurrentData().getData())));
+ ChildData node = fileCache.getCurrentData();
+ if (node != null) {
+ sessionChanged(Session.Status.parse(Utf8.toString(node.getData())));
}
} catch (Exception e) {
log.log(LogLevel.WARNING, session.logPre() + "Error handling session changed for session " + getSessionId(), e);
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionStateWatcher.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionStateWatcher.java
index 653a2616cbe..a3fad3d7322 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionStateWatcher.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSessionStateWatcher.java
@@ -1,8 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.session;
-import com.yahoo.concurrent.StripedExecutor;
-import com.yahoo.config.provision.TenantName;
import com.yahoo.log.LogLevel;
import com.yahoo.text.Utf8;
import com.yahoo.vespa.config.server.ReloadHandler;
@@ -72,12 +70,12 @@ public class RemoteSessionStateWatcher {
}
}
- public void nodeChanged() {
+ private void nodeChanged() {
zkWatcherExecutor.execute(() -> {
try {
- ChildData data = fileCache.getCurrentData();
- if (data != null) {
- sessionChanged(Session.Status.parse(Utf8.toString(fileCache.getCurrentData().getData())));
+ ChildData node = fileCache.getCurrentData();
+ if (node != null) {
+ sessionChanged(Session.Status.parse(Utf8.toString(node.getData())));
}
} catch (Exception e) {
log.log(LogLevel.WARNING, session.logPre() + "Error handling session changed for session " + getSessionId(), e);