diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-10-10 16:43:38 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-10-10 16:43:38 +0200 |
commit | 61255fe82233d0041d6d734cc0ff7bcffab213c7 (patch) | |
tree | d73a6045814780ae69c8a4786a27518528054cae /container-search/src | |
parent | 5846e2b4a3e143aacbf2cb877ab5ee1fee8cf259 (diff) |
Do not set atStartup without also setting isWorking.
Diffstat (limited to 'container-search/src')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/cluster/TrafficNodeMonitor.java | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/cluster/TrafficNodeMonitor.java b/container-search/src/main/java/com/yahoo/search/cluster/TrafficNodeMonitor.java index 830014bca46..ccf3e863ff3 100644 --- a/container-search/src/main/java/com/yahoo/search/cluster/TrafficNodeMonitor.java +++ b/container-search/src/main/java/com/yahoo/search/cluster/TrafficNodeMonitor.java @@ -36,7 +36,6 @@ public class TrafficNodeMonitor<T> extends BaseNodeMonitor<T> { @Override public void failed(ErrorMessage error) { respondedAt = now(); - atStartUp = false; if (error.getCode() == Error.BACKEND_COMMUNICATION_ERROR.code) { setWorking(false, "Connection failure: " + error.toString()); @@ -55,10 +54,8 @@ public class TrafficNodeMonitor<T> extends BaseNodeMonitor<T> { public void responded() { respondedAt=now(); succeededAt=respondedAt; - atStartUp = false; - if (!isWorking) - setWorking(true,"Responds correctly"); + setWorking(true,"Responds correctly"); } /** @@ -67,7 +64,9 @@ public class TrafficNodeMonitor<T> extends BaseNodeMonitor<T> { public Boolean isKnownWorking() { return atStartUp ? null : isWorking; } /** Thread-safely changes the state of this node if required */ + @Override protected synchronized void setWorking(boolean working, String explanation) { + atStartUp = false; if (this.isWorking == working) return; // Old news if (explanation==null) { @@ -78,10 +77,8 @@ public class TrafficNodeMonitor<T> extends BaseNodeMonitor<T> { if (working) { log.info("Putting " + node + " in service" + explanation); - } - else { - if (!atStartUp || !isInternal()) - log.warning("Taking " + node + " out of service" + explanation); + } else { + log.warning("Taking " + node + " out of service" + explanation); failedAt=now(); } |