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;
         }
     }
 }