Repository: hadoop
Updated Branches:
  refs/heads/trunk 5ce3a77f3 -> 5e093f0d4


YARN-3537. NPE when NodeManager.serviceInit fails and stopRecoveryStore 
invoked. Contributed by Brahma Reddy Battula


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

Branch: refs/heads/trunk
Commit: 5e093f0d400f82f67d9b2d24253c79e4a5abacf9
Parents: 5ce3a77
Author: Jason Lowe <jl...@apache.org>
Authored: Fri Apr 24 22:02:53 2015 +0000
Committer: Jason Lowe <jl...@apache.org>
Committed: Fri Apr 24 22:02:53 2015 +0000

----------------------------------------------------------------------
 hadoop-yarn-project/CHANGES.txt                 |  3 +++
 .../yarn/server/nodemanager/NodeManager.java    | 26 +++++++++++---------
 2 files changed, 17 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/5e093f0d/hadoop-yarn-project/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 9754c33..001396f 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -290,6 +290,9 @@ Release 2.7.1 - UNRELEASED
     YARN-3522. Fixed DistributedShell to instantiate TimeLineClient as the
     correct user. (Zhijie Shen via jianhe)
 
+    YARN-3537. NPE when NodeManager.serviceInit fails and stopRecoveryStore
+    invoked (Brahma Reddy Battula via jlowe)
+
 Release 2.7.0 - 2015-04-20
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/5e093f0d/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java
index 4a28c6f..6718b53 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java
@@ -178,18 +178,20 @@ public class NodeManager extends CompositeService
   }
 
   private void stopRecoveryStore() throws IOException {
-    nmStore.stop();
-    if (null != context) {
-      if (context.getDecommissioned() && nmStore.canRecover()) {
-        LOG.info("Removing state store due to decommission");
-        Configuration conf = getConfig();
-        Path recoveryRoot =
-            new Path(conf.get(YarnConfiguration.NM_RECOVERY_DIR));
-        LOG.info("Removing state store at " + recoveryRoot
-            + " due to decommission");
-        FileSystem recoveryFs = FileSystem.getLocal(conf);
-        if (!recoveryFs.delete(recoveryRoot, true)) {
-          LOG.warn("Unable to delete " + recoveryRoot);
+    if (null != nmStore) {
+      nmStore.stop();
+      if (null != context) {
+        if (context.getDecommissioned() && nmStore.canRecover()) {
+          LOG.info("Removing state store due to decommission");
+          Configuration conf = getConfig();
+          Path recoveryRoot =
+              new Path(conf.get(YarnConfiguration.NM_RECOVERY_DIR));
+          LOG.info("Removing state store at " + recoveryRoot
+              + " due to decommission");
+          FileSystem recoveryFs = FileSystem.getLocal(conf);
+          if (!recoveryFs.delete(recoveryRoot, true)) {
+            LOG.warn("Unable to delete " + recoveryRoot);
+          }
         }
       }
     }

Reply via email to