diff options
author | Harald Musum <musum@verizonmedia.com> | 2019-07-21 17:46:23 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2019-07-21 17:46:23 +0200 |
commit | 9503ee5d99ebb373b45a837353bbddd4d42336b7 (patch) | |
tree | ba5677eeb7b5ae7c42cdf9f4d4ce6980a857aa18 /configserver | |
parent | 344f131dde68738a351f35afbdef504c995f6ca3 (diff) |
Read node data only once after session node changes
Diffstat (limited to 'configserver')
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); |