You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2018/08/02 20:06:04 UTC
asterixdb git commit: [NO ISSUE] Log callstack of ExitUtil.exit()
Repository: asterixdb
Updated Branches:
refs/heads/master bb8856004 -> 39ee11732
[NO ISSUE] Log callstack of ExitUtil.exit()
Change-Id: I5540779f7638e8594652700871a9202026969ca2
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2836
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mh...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/39ee1173
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/39ee1173
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/39ee1173
Branch: refs/heads/master
Commit: 39ee117327aa40df0ccefd00863dd6fe9b4ce299
Parents: bb88560
Author: Michael Blow <mb...@apache.org>
Authored: Thu Aug 2 14:08:20 2018 -0400
Committer: Michael Blow <mb...@apache.org>
Committed: Thu Aug 2 13:05:43 2018 -0700
----------------------------------------------------------------------
.../src/main/java/org/apache/hyracks/util/ExitUtil.java | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/39ee1173/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ExitUtil.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ExitUtil.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ExitUtil.java
index 75865b9d..6aa708d 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ExitUtil.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ExitUtil.java
@@ -74,7 +74,7 @@ public class ExitUtil {
LOGGER.warn("ignoring duplicate request to exit with status " + status
+ "; already exiting with status " + exitThread.status + "...");
} else {
- exitThread.setStatus(status);
+ exitThread.setStatus(status, new Throwable("exit callstack"));
exitThread.start();
}
}
@@ -105,7 +105,7 @@ public class ExitUtil {
exitThread.join(shutdownHaltDelay.getValue()); // 10 min
if (exitThread.isAlive()) {
try {
- LOGGER.info("Watchdog is angry. Killing shutdown hook");
+ LOGGER.warn("Watchdog is angry. Killing shutdown hook");
} finally {
ExitUtil.halt(EC_HALT_SHUTDOWN_TIMED_OUT);
}
@@ -117,7 +117,8 @@ public class ExitUtil {
}
private static class ExitThread extends Thread {
- private int status;
+ private volatile int status;
+ private volatile Throwable callstack;
ExitThread() {
super("JVM exit thread");
@@ -127,14 +128,15 @@ public class ExitUtil {
@Override
public void run() {
try {
- LOGGER.info("JVM exiting with status " + status + "; bye!");
+ LOGGER.warn("JVM exiting with status " + status + "; bye!", callstack);
} finally {
Runtime.getRuntime().exit(status);
}
}
- public void setStatus(int status) {
+ public void setStatus(int status, Throwable callstack) {
this.status = status;
+ this.callstack = callstack;
}
}
}