diff options
Diffstat (limited to 'messagebus')
-rw-r--r-- | messagebus/src/main/java/com/yahoo/messagebus/MessageBus.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/MessageBus.java b/messagebus/src/main/java/com/yahoo/messagebus/MessageBus.java index a7647992cdd..0c3f3168568 100644 --- a/messagebus/src/main/java/com/yahoo/messagebus/MessageBus.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/MessageBus.java @@ -151,18 +151,24 @@ public class MessageBus implements ConfigHandler, NetworkOwner, MessageHandler, this.net = net; net.attach(this); if ( ! net.net().waitUntilReady(180)) { + var failure = new IllegalStateException("Network failed to become ready in time."); try { var tmp = net.net().getMirror(); var mirror = (com.yahoo.jrt.slobrok.api.Mirror) tmp; - if (mirror.getIterations() < 2) { + mirror.dumpState(); + if (mirror.ready()) { + log.warning("location broker mirror is ready, but network is not"); + } else if (mirror.getIterations() < 2) { Process.dumpThreads(); String fn = "var/crash/java_pid." + ProcessHandle.current().pid() + ".hprof"; Process.dumpHeap(Defaults.getDefaults().underVespaHome(fn), true); + } else { + failure = new IllegalStateException("No answer from any service location broker, failing startup"); } } catch (Exception e) { // ignore } - throw new IllegalStateException("Network failed to become ready in time."); + throw failure; } // Start messenger. |