diff options
-rw-r--r-- | jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java | 5 | ||||
-rw-r--r-- | messagebus/src/main/java/com/yahoo/messagebus/MessageBus.java | 14 |
2 files changed, 16 insertions, 3 deletions
diff --git a/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java b/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java index dd2fd5a8242..b4c06355e1a 100644 --- a/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java +++ b/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java @@ -343,4 +343,9 @@ public class Mirror implements IMirror { ", current server: "+ currSlobrok + ", list of servers: " + slobroks); } + + public long getIterations() { + return iterations; + } + } diff --git a/messagebus/src/main/java/com/yahoo/messagebus/MessageBus.java b/messagebus/src/main/java/com/yahoo/messagebus/MessageBus.java index dd5ecb45cc1..a7647992cdd 100644 --- a/messagebus/src/main/java/com/yahoo/messagebus/MessageBus.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/MessageBus.java @@ -151,9 +151,17 @@ public class MessageBus implements ConfigHandler, NetworkOwner, MessageHandler, this.net = net; net.attach(this); if ( ! net.net().waitUntilReady(180)) { - Process.dumpThreads(); - String fn = "var/crash/java_pid." + ProcessHandle.current().pid() + ".hprof"; - Process.dumpHeap(Defaults.getDefaults().underVespaHome(fn), true); + try { + var tmp = net.net().getMirror(); + var mirror = (com.yahoo.jrt.slobrok.api.Mirror) tmp; + if (mirror.getIterations() < 2) { + Process.dumpThreads(); + String fn = "var/crash/java_pid." + ProcessHandle.current().pid() + ".hprof"; + Process.dumpHeap(Defaults.getDefaults().underVespaHome(fn), true); + } + } catch (Exception e) { + // ignore + } throw new IllegalStateException("Network failed to become ready in time."); } |