You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-commits@hadoop.apache.org by vi...@apache.org on 2012/09/05 04:47:30 UTC
svn commit: r1380956 - in
/hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project: ./
hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/
hadoop-yarn/...
Author: vinodkv
Date: Wed Sep 5 02:47:29 2012
New Revision: 1380956
URL: http://svn.apache.org/viewvc?rev=1380956&view=rev
Log:
YARN-42. Modify NM's non-aggregating logs' handler to stop properly so that NMs don't get NPEs on startup errors. Contributed by Devaraj K.
svn merge --ignore-ancestry -c 1380954 ../../trunk/
Modified:
hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/CHANGES.txt
hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/NonAggregatingLogHandler.java
hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/TestNonAggregatingLogHandler.java
Modified: hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/CHANGES.txt?rev=1380956&r1=1380955&r2=1380956&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/CHANGES.txt Wed Sep 5 02:47:29 2012
@@ -56,6 +56,9 @@ Release 2.1.0-alpha - Unreleased
YARN-79. Implement close on all clients to YARN so that RPC clients don't
throw exceptions on shut-down. (Vinod Kumar Vavilapalli)
+ YARN-42. Modify NM's non-aggregating logs' handler to stop properly so that
+ NMs don't get NPEs on startup errors. (Devaraj K via vinodkv)
+
Release 0.23.4 - UNRELEASED
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/NonAggregatingLogHandler.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/NonAggregatingLogHandler.java?rev=1380956&r1=1380955&r2=1380956&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/NonAggregatingLogHandler.java (original)
+++ hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/NonAggregatingLogHandler.java Wed Sep 5 02:47:29 2012
@@ -79,16 +79,18 @@ public class NonAggregatingLogHandler ex
@Override
public void stop() {
- sched.shutdown();
- boolean isShutdown = false;
- try {
- isShutdown = sched.awaitTermination(10, TimeUnit.SECONDS);
- } catch (InterruptedException e) {
- sched.shutdownNow();
- isShutdown = true;
- }
- if (!isShutdown) {
- sched.shutdownNow();
+ if (sched != null) {
+ sched.shutdown();
+ boolean isShutdown = false;
+ try {
+ isShutdown = sched.awaitTermination(10, TimeUnit.SECONDS);
+ } catch (InterruptedException e) {
+ sched.shutdownNow();
+ isShutdown = true;
+ }
+ if (!isShutdown) {
+ sched.shutdownNow();
+ }
}
super.stop();
}
Modified: hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/TestNonAggregatingLogHandler.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/TestNonAggregatingLogHandler.java?rev=1380956&r1=1380955&r2=1380956&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/TestNonAggregatingLogHandler.java (original)
+++ hadoop/common/branches/branch-2.1.0-alpha/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/loghandler/TestNonAggregatingLogHandler.java Wed Sep 5 02:47:29 2012
@@ -183,6 +183,24 @@ public class TestNonAggregatingLogHandle
verify(mockSched).schedule(any(Runnable.class), eq(10800l),
eq(TimeUnit.SECONDS));
}
+
+ @Test
+ public void testStop() throws Exception {
+ NonAggregatingLogHandler aggregatingLogHandler =
+ new NonAggregatingLogHandler(null, null, null);
+
+ // It should not throw NullPointerException
+ aggregatingLogHandler.stop();
+
+ NonAggregatingLogHandlerWithMockExecutor logHandler =
+ new NonAggregatingLogHandlerWithMockExecutor(null, null, null);
+ logHandler.init(new Configuration());
+ logHandler.stop();
+ verify(logHandler.mockSched).shutdown();
+ verify(logHandler.mockSched)
+ .awaitTermination(eq(10l), eq(TimeUnit.SECONDS));
+ verify(logHandler.mockSched).shutdownNow();
+ }
private class NonAggregatingLogHandlerWithMockExecutor extends
NonAggregatingLogHandler {