diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-02-03 14:02:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-03 14:02:52 +0100 |
commit | 83f21ba4f707c9c8d9360e2bf52860ab939aaf9b (patch) | |
tree | f732f7ab32c6139fc3ef6a6eac663b523fd88621 /container-search | |
parent | 1bdeee7cbe08963de9d9bff68e7c76d68c86cf09 (diff) | |
parent | a6011954f15c6b1e42cc9e944e0d7645071f69b0 (diff) |
Merge pull request #12031 from vespa-engine/balder/wait-until-nodestate-is-known
A dispatcher should not be considered ready before it has information…
Diffstat (limited to 'container-search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java | 5 | ||||
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java b/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java index 03b51fbaf70..3fb0059ecb9 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java @@ -125,6 +125,11 @@ public class Dispatcher extends AbstractComponent { this.maxHitsPerNode = dispatchConfig.maxHitsPerNode(); searchCluster.startClusterMonitoring(pingFactory); + try { + while ( ! searchCluster.hasInformationAboutAllNodes()) { + Thread.sleep(1); + } + } catch (InterruptedException e) {} } /** Returns the search cluster this dispatches to */ diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java b/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java index a48d741bdca..cbe24eb6907 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java @@ -240,7 +240,7 @@ public class SearchCluster implements NodeManager<Node> { vipStatus.removeFromRotation(clusterId); } - private boolean hasInformationAboutAllNodes() { + public boolean hasInformationAboutAllNodes() { return nodesByHost.values().stream().allMatch(node -> node.isWorking() != null); } |