Author: vinodkv
Date: Tue Jul 16 01:04:10 2013
New Revision: 1503533

URL: http://svn.apache.org/r1503533
Log:
YARN-523. Modified a test-case to validate container diagnostics on 
localization failures. Contributed by Jian He.
svn merge --ignore-ancestry -c 1503532 ../../trunk/

Modified:
    hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt
    
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/TestContainer.java

Modified: hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt?rev=1503533&r1=1503532&r2=1503533&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt Tue Jul 16 
01:04:10 2013
@@ -42,6 +42,9 @@ Release 2.1.1-beta - UNRELEASED
     YARN-295. Fixed a race condition in ResourceManager RMAppAttempt state
     machine. (Mayank Bansal via vinodkv)
 
+    YARN-523. Modified a test-case to validate container diagnostics on
+    localization failures. (Jian He via vinodkv)
+
 Release 2.1.0-beta - 2013-07-02
 
   INCOMPATIBLE CHANGES

Modified: 
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/TestContainer.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/TestContainer.java?rev=1503533&r1=1503532&r2=1503533&view=diff
==============================================================================
--- 
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/TestContainer.java
 (original)
+++ 
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/TestContainer.java
 Tue Jul 16 01:04:10 2013
@@ -41,6 +41,8 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Random;
 
+import junit.framework.Assert;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.yarn.api.records.ContainerId;
@@ -80,7 +82,7 @@ public class TestContainer {
 
   final NodeManagerMetrics metrics = NodeManagerMetrics.create();
   final Configuration conf = new YarnConfiguration();
-
+  final String FAKE_LOCALIZATION_ERROR = "Fake localization error";
   
   /**
    * Verify correct container request events sent to localizer.
@@ -294,6 +296,7 @@ public class TestContainer {
       wc.localizeResourcesFromInvalidState(failCount);
       assertEquals(ContainerState.LOCALIZATION_FAILED, 
wc.c.getContainerState());
       verifyCleanupCall(wc);
+      Assert.assertTrue(wc.getDiagnostics().contains(FAKE_LOCALIZATION_ERROR));
     } finally {
       if (wc != null) {
         wc.finished();
@@ -663,7 +666,7 @@ public class TestContainer {
         throws URISyntaxException {
       LocalResource rsrc = localResources.get(rsrcKey);
       LocalResourceRequest req = new LocalResourceRequest(rsrc);
-      Exception e = new Exception("Fake localization error");
+      Exception e = new Exception(FAKE_LOCALIZATION_ERROR);
       c.handle(new ContainerResourceFailedEvent(c.getContainerId(), req, e
         .getMessage()));
       drainDispatcherEvents();
@@ -679,7 +682,7 @@ public class TestContainer {
         }
         ++counter;
         LocalResourceRequest req = new LocalResourceRequest(rsrc.getValue());
-        Exception e = new Exception("Fake localization error");
+        Exception e = new Exception(FAKE_LOCALIZATION_ERROR);
         c.handle(new ContainerResourceFailedEvent(c.getContainerId(),
                  req, e.getMessage()));
       }
@@ -725,5 +728,9 @@ public class TestContainer {
     public int getLocalResourceCount() {
       return localResources.size();
     }
+
+    public String getDiagnostics() {
+      return c.cloneAndGetContainerStatus().getDiagnostics();
+    }
   }
 }


Reply via email to