瀏覽代碼

commit 70875ef8005e1763d550f625b0ce856ac6053db1
Author: Mahadev Konar <mahadev@cdev6022.inktomisearch.com>
Date: Fri Jul 23 21:25:44 2010 +0000

MAPREDUCE-1943. From https://issues.apache.org/jira/secure/attachment/12449985/MAPREDUCE-1943-yahoo-hadoop-0.20S.patch


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-patches@1077595 13f79535-47bb-0310-9956-ffa450edef68

Owen O'Malley 14 年之前
父節點
當前提交
e76eef5afa
共有 2 個文件被更改,包括 12 次插入3 次删除
  1. 8 3
      src/mapred/org/apache/hadoop/mapred/JSPUtil.java
  2. 4 0
      src/webapps/job/jobdetails.jsp

+ 8 - 3
src/mapred/org/apache/hadoop/mapred/JSPUtil.java

@@ -305,6 +305,7 @@ class JSPUtil {
       sb.append("<td><b>Reduce Total</b></td>");
       sb.append("<td><b>Reduces Completed</b></td>");
       sb.append("<td><b>Job Scheduling Information</b></td>");
+      sb.append("<td><b>Diagnostic Info </b></td>");
       sb.append("</tr>\n");
 
       for (Iterator<JobInProgress> it = jobs.iterator(); it.hasNext(); ++rowId) {
@@ -321,7 +322,8 @@ class JSPUtil {
         String jobpri = job.getPriority().toString();
         String schedulingInfo =
           HtmlQuoting.quoteHtmlChars(job.getStatus().getSchedulingInfo());
-
+        String diagnosticInfo = 
+          HtmlQuoting.quoteHtmlChars(job.getStatus().getFailureInfo());
         if (isModifiable) {
           sb.append("<tr><td><input TYPE=\"checkbox\" " +
           		"onclick=\"checkButtonVerbage()\" " +
@@ -346,7 +348,7 @@ class JSPUtil {
             + ServletUtil.percentageGraph(status.reduceProgress() * 100, 80)
             + "</td><td>" + desiredReduces + "</td><td> " + completedReduces 
             + "</td><td>" + schedulingInfo
-            + "</td></tr>\n");
+            + "</td><td>" + diagnosticInfo + "</td></tr>\n");
       }
       if (isModifiable) {
         sb.append("</form>\n");
@@ -385,6 +387,7 @@ class JSPUtil {
       sb.append("<td><b>Map % Complete</b></td>");
       sb.append("<td><b>Reduce % Complete</b></td>");
       sb.append("<td><b>Job Scheduling Information</b></td>");
+      sb.append("<td><b>Diagnostic Info </b></td>");
       sb.append("</tr>\n");
       for (int i = 0; i < 100 && iterator.hasNext(); i++) {
         RetireJobInfo info = iterator.next();
@@ -429,7 +432,9 @@ class JSPUtil {
             
             "<td>" +
             HtmlQuoting.quoteHtmlChars(info.status.getSchedulingInfo()) +
-            "</td>" + "</tr>\n");
+            "</td>" + 
+            "<td>" + HtmlQuoting.quoteHtmlChars(info.status.getFailureInfo()) + 
+            "</td></tr>\n");
         rowId++;
       }
     }

+ 4 - 0
src/webapps/job/jobdetails.jsp

@@ -310,6 +310,8 @@
             job.getFinishTime(), job.getStartTime()) + "<br>\n");
       } else if (runState == JobStatus.FAILED) {
         out.print("<b>Status:</b> Failed<br>\n");
+        out.print("<b>Failure Info:</b>" + 
+                   HtmlQuoting.quoteHtmlChars(status.getFailureInfo()) + "<br>\n");
         out.print("<b>Started at:</b> " + new Date(job.getStartTime()) + "<br>\n");
         out.print("<b>Failed at:</b> " + new Date(job.getFinishTime()) +
                   "<br>\n");
@@ -317,6 +319,8 @@
             job.getFinishTime(), job.getStartTime()) + "<br>\n");
       } else if (runState == JobStatus.KILLED) {
         out.print("<b>Status:</b> Killed<br>\n");
+        out.print("<b>Failure Info:</b>" + 
+                   HtmlQuoting.quoteHtmlChars(status.getFailureInfo()) + "<br>\n");
         out.print("<b>Started at:</b> " + new Date(job.getStartTime()) + "<br>\n");
         out.print("<b>Killed at:</b> " + new Date(job.getFinishTime()) +
                   "<br>\n");