From 9c00ae00091dcd9a2478cb2e1f440f963ff33d1f Mon Sep 17 00:00:00 2001 From: rohithsharmaks Date: Wed, 29 Jul 2015 23:44:15 +0530 Subject: [PATCH] YARN-3919. NPEs' while stopping service after exception during CommonNodeLabelsManager#start. (varun saxena via rohithsharmaks) --- hadoop-yarn-project/CHANGES.txt | 3 +++ .../org/apache/hadoop/yarn/event/AsyncDispatcher.java | 3 ++- .../hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java | 8 ++------ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 5c356b6d819..ff36abca53b 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -655,6 +655,9 @@ Release 2.8.0 - UNRELEASED YARN-3982. container-executor parsing of container-executor.cfg broken in trunk and branch-2. (Varun Vasudev via xgong) + YARN-3919. NPEs' while stopping service after exception during + CommonNodeLabelsManager#start. (varun saxane via rohithsharmaks) + Release 2.7.2 - UNRELEASED INCOMPATIBLE CHANGES 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 48312a33e7c..f6701128ac6 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 @@ -139,7 +139,8 @@ protected void serviceStop() throws Exception { blockNewEvents = true; LOG.info("AsyncDispatcher is draining to stop, igonring any new events."); synchronized (waitForDrained) { - while (!drained && eventHandlingThread.isAlive()) { + while (!drained && eventHandlingThread != null + && eventHandlingThread.isAlive()) { waitForDrained.wait(1000); LOG.info("Waiting for AsyncDispatcher to drain. Thread state is :" + eventHandlingThread.getState()); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java index abf07e805a2..20dc67c10e4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java @@ -33,6 +33,7 @@ import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.LocalFileSystem; import org.apache.hadoop.fs.Path; +import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.yarn.api.records.NodeId; import org.apache.hadoop.yarn.api.records.NodeLabel; @@ -92,12 +93,7 @@ public void init(Configuration conf) throws Exception { @Override public void close() throws IOException { - try { - fs.close(); - editlogOs.close(); - } catch (IOException e) { - LOG.warn("Exception happened whiling shutting down,", e); - } + IOUtils.cleanup(LOG, fs, editlogOs); } private void setFileSystem(Configuration conf) throws IOException {