diff options
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/cluster/NodeMonitor.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/cluster/NodeMonitor.java | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/cluster/NodeMonitor.java b/container-search/src/main/java/com/yahoo/prelude/cluster/NodeMonitor.java index b60aecc2e51..5ccaff0f198 100644 --- a/container-search/src/main/java/com/yahoo/prelude/cluster/NodeMonitor.java +++ b/container-search/src/main/java/com/yahoo/prelude/cluster/NodeMonitor.java @@ -52,7 +52,7 @@ public class NodeMonitor { } // Whether or not dispatch has ever responded successfully - private boolean atStartUp = true; + private boolean statusIsKnown = false; public VespaBackEndSearcher getNode() { return node; @@ -88,23 +88,26 @@ public class NodeMonitor { this.searchNodesOnline = searchNodesOnline; if (! isWorking) setWorking(true, "Responds correctly"); - atStartUp = false; + statusIsKnown = true; } /** Changes the state of this node if required */ private void setWorking(boolean working, String explanation) { if (isWorking == working) return; // Old news - if (working && ! atStartUp) - log.info("Putting " + node + " in service: " + explanation); - else if (! atStartUp) - log.info("Taking " + node + " out of service: " + explanation); + if (statusIsKnown) { + if (working) + log.info("Putting " + node + " in service: " + explanation); + else + log.info("Taking " + node + " out of service: " + explanation); + } isWorking = working; } - boolean searchNodesOnline() { - return searchNodesOnline; - } + boolean searchNodesOnline() { return searchNodesOnline; } + + /** Returns true if we have had enough time to determine the status of this node since creating the monitor */ + boolean statusIsKnown() { return statusIsKnown; } } |