ソースを参照

MAPREDUCE-2984. Better error message for displaying completed containers. Contributed by Devaraj K.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1176045 13f79535-47bb-0310-9956-ffa450edef68
Arun Murthy 13 年 前
コミット
81926396f6

+ 3 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -1432,6 +1432,9 @@ Release 0.23.0 - Unreleased
     MAPREDUCE-3031. Proper handling of killed containers to prevent stuck
     containers/AMs on an external kill signal. (Siddharth Seth via vinodkv)
 
+    MAPREDUCE-2984. Better error message for displaying completed containers.
+    (Devaraj K via acmurthy)
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES

+ 8 - 0
hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerPage.java

@@ -31,6 +31,8 @@ import org.apache.hadoop.yarn.server.nodemanager.Context;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
 import org.apache.hadoop.yarn.util.ConverterUtils;
 import org.apache.hadoop.yarn.webapp.SubView;
+import org.apache.hadoop.yarn.webapp.hamlet.Hamlet;
+import org.apache.hadoop.yarn.webapp.hamlet.Hamlet.DIV;
 import org.apache.hadoop.yarn.webapp.view.HtmlBlock;
 import org.apache.hadoop.yarn.webapp.view.InfoBlock;
 
@@ -69,7 +71,13 @@ public class ContainerPage extends NMView implements NMWebParams {
         return;
       }
 
+      DIV<Hamlet> div = html.div("#content");
       Container container = this.nmContext.getContainers().get(containerID);
+      if (container == null) {
+        div.h1("Unknown Container. Container might have completed, "
+                + "please go back to the previous page and retry.")._();
+        return;
+      }
       ContainerStatus containerData = container.cloneAndGetContainerStatus();
       int exitCode = containerData.getExitStatus();
       String exiStatus =