From 0c73d159fb48cea0bf2d1dc62708aff09c82cf99 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Thu, 19 Dec 2019 10:20:21 +0000 Subject: Avoid starting the ping thread automatically for tests. --- .../main/java/com/yahoo/search/cluster/ClusterMonitor.java | 12 ++++++++++-- .../main/java/com/yahoo/search/cluster/ClusterSearcher.java | 7 ++++++- 2 files changed, 16 insertions(+), 3 deletions(-) (limited to 'container-search/src/main/java/com/yahoo/search/cluster') diff --git a/container-search/src/main/java/com/yahoo/search/cluster/ClusterMonitor.java b/container-search/src/main/java/com/yahoo/search/cluster/ClusterMonitor.java index 2aa896948a1..d4b6279be89 100644 --- a/container-search/src/main/java/com/yahoo/search/cluster/ClusterMonitor.java +++ b/container-search/src/main/java/com/yahoo/search/cluster/ClusterMonitor.java @@ -39,9 +39,15 @@ public class ClusterMonitor { private final Map> nodeMonitors = Collections.synchronizedMap(new java.util.LinkedHashMap<>()); public ClusterMonitor(NodeManager manager) { + this(manager, true); + } + + public ClusterMonitor(NodeManager manager, boolean startPingThread) { nodeManager = manager; monitorThread = new MonitorThread("search.clustermonitor"); - monitorThread.start(); + if (startPingThread) { + monitorThread.start(); + } } /** Returns the configuration of this cluster monitor */ @@ -121,7 +127,9 @@ public class ClusterMonitor { nodeManager.notifyAll(); } try { - monitorThread.join(); + if (monitorThread.isAlive()) { + monitorThread.join(); + } } catch (InterruptedException e) {} } diff --git a/container-search/src/main/java/com/yahoo/search/cluster/ClusterSearcher.java b/container-search/src/main/java/com/yahoo/search/cluster/ClusterSearcher.java index dd8b953e3d0..06cbf9a9706 100644 --- a/container-search/src/main/java/com/yahoo/search/cluster/ClusterSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/cluster/ClusterSearcher.java @@ -41,7 +41,7 @@ import java.util.concurrent.TimeoutException; public abstract class ClusterSearcher extends PingableSearcher implements NodeManager { private final Hasher hasher; - private final ClusterMonitor monitor = new ClusterMonitor<>(this); + private final ClusterMonitor monitor; /** * Creates a new cluster searcher @@ -55,8 +55,13 @@ public abstract class ClusterSearcher extends PingableSearcher implements Nod } public ClusterSearcher(ComponentId id, List connections, Hasher hasher, boolean internal) { + this(id, connections, hasher, internal, true); + } + + public ClusterSearcher(ComponentId id, List connections, Hasher hasher, boolean internal, boolean startPingThread) { super(id); this.hasher = hasher; + this.monitor = new ClusterMonitor<>(this, startPingThread); for (T connection : connections) { monitor.add(connection, internal); hasher.add(connection); -- cgit v1.2.3