Repository: hadoop
Updated Branches:
  refs/heads/branch-2 e4f9ddfdb -> 41f0d20fc


YARN-2917. Fixed potential deadlock when system.exit is called in 
AsyncDispatcher. Contributed by Rohith Sharmaks
(cherry picked from commit 614b6afea450ebb897fbb2519c6f02e13b9bd12d)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/41f0d20f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/41f0d20f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/41f0d20f

Branch: refs/heads/branch-2
Commit: 41f0d20fcb4fec5b932b8947a44f93345205222c
Parents: e4f9ddf
Author: Jian He <[email protected]>
Authored: Thu Dec 11 11:16:45 2014 -0800
Committer: Jian He <[email protected]>
Committed: Thu Dec 11 11:18:45 2014 -0800

----------------------------------------------------------------------
 hadoop-yarn-project/CHANGES.txt                      |  3 +++
 .../apache/hadoop/yarn/event/AsyncDispatcher.java    | 15 +++++++++++++--
 2 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/41f0d20f/hadoop-yarn-project/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index fafd129..b8f8bbc 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -182,6 +182,9 @@ Release 2.7.0 - UNRELEASED
     YARN-2924. Fixed RMAdminCLI to not convert node labels to lower case.
     (Wangda Tan via jianhe)
 
+    YARN-2917. Fixed potential deadlock when system.exit is called in 
AsyncDispatcher
+    (Rohith Sharmaks via jianhe)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/41f0d20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/event/AsyncDispatcher.java
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/event/AsyncDispatcher.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/event/AsyncDispatcher.java
index 370b0f7..28be6ac 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/event/AsyncDispatcher.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/event/AsyncDispatcher.java
@@ -181,8 +181,9 @@ public class AsyncDispatcher extends AbstractService 
implements Dispatcher {
       if (exitOnDispatchException
           && (ShutdownHookManager.get().isShutdownInProgress()) == false
           && stopped == false) {
-        LOG.info("Exiting, bbye..");
-        System.exit(-1);
+        Thread shutDownThread = new Thread(createShutDownThread());
+        shutDownThread.setName("AsyncDispatcher ShutDown handler");
+        shutDownThread.start();
       }
     }
   }
@@ -271,4 +272,14 @@ public class AsyncDispatcher extends AbstractService 
implements Dispatcher {
     }
 
   }
+
+  Runnable createShutDownThread() {
+    return new Runnable() {
+      @Override
+      public void run() {
+        LOG.info("Exiting, bbye..");
+        System.exit(-1);
+      }
+    };
+  }
 }

Reply via email to