diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-09-29 16:24:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-29 16:24:40 +0200 |
commit | 0b08f84d1a2bc9fcbea0656d33e5e23f3e325e40 (patch) | |
tree | 3e351bc71eac4fecf5591e32b4169056af9c3ab7 | |
parent | 32ae3685347015219dee34e6a2f5a3d3c14caab4 (diff) | |
parent | 9f1e77bbe1e6343b7a4df1cc372a2be513051be7 (diff) |
Merge pull request #24262 from vespa-engine/arnej/only-heap-dump-on-no-progress
don't heap dump every time network fails to become ready
-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."); } |