MAPREDUCE-6014. New task status field in task attempts table can lead to an empty web page. Contributed by Mit Desai
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1616018 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a6cfaab5aa
commit
857d134fda
|
@ -181,6 +181,9 @@ Release 2.6.0 - UNRELEASED
|
|||
MAPREDUCE-5756. CombineFileInputFormat.getSplits() including directories
|
||||
in its results (Jason Dere via jlowe)
|
||||
|
||||
MAPREDUCE-6014. New task status field in task attempts table can lead to
|
||||
an empty web page (Mit Desai via jlowe)
|
||||
|
||||
Release 2.5.0 - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -85,7 +85,8 @@ public class TaskPage extends AppView {
|
|||
.append(ta.getId()).append("\",\"")
|
||||
.append(progress).append("\",\"")
|
||||
.append(ta.getState().toString()).append("\",\"")
|
||||
.append(ta.getStatus()).append("\",\"")
|
||||
.append(StringEscapeUtils.escapeJavaScript(
|
||||
StringEscapeUtils.escapeHtml(ta.getStatus()))).append("\",\"")
|
||||
|
||||
.append(nodeHttpAddr == null ? "N/A" :
|
||||
"<a class='nodelink' href='" + MRWebAppUtil.getYARNWebappScheme() + nodeHttpAddr + "'>"
|
||||
|
|
|
@ -25,6 +25,7 @@ import static org.apache.hadoop.yarn.util.StringHelper.percent;
|
|||
import static org.apache.hadoop.yarn.webapp.view.JQueryUI.C_PROGRESSBAR;
|
||||
import static org.apache.hadoop.yarn.webapp.view.JQueryUI.C_PROGRESSBAR_VALUE;
|
||||
|
||||
import org.apache.commons.lang.StringEscapeUtils;
|
||||
import org.apache.hadoop.mapreduce.v2.api.records.TaskType;
|
||||
import org.apache.hadoop.mapreduce.v2.app.job.Task;
|
||||
import org.apache.hadoop.mapreduce.v2.app.webapp.dao.TaskInfo;
|
||||
|
@ -102,7 +103,8 @@ public class TasksBlock extends HtmlBlock {
|
|||
.append(join(pct, '%')).append("'> ").append("<div class='")
|
||||
.append(C_PROGRESSBAR_VALUE).append("' style='")
|
||||
.append(join("width:", pct, '%')).append("'> </div> </div>\",\"")
|
||||
.append(info.getStatus()).append("\",\"")
|
||||
.append(StringEscapeUtils.escapeJavaScript(
|
||||
StringEscapeUtils.escapeHtml(info.getStatus()))).append("\",\"")
|
||||
|
||||
.append(info.getState()).append("\",\"")
|
||||
.append(info.getStartTime()).append("\",\"")
|
||||
|
|
|
@ -106,6 +106,7 @@ public class TestBlocks {
|
|||
when(report.getTaskState()).thenReturn(TaskState.SUCCEEDED);
|
||||
when(report.getStartTime()).thenReturn(100001L);
|
||||
when(report.getFinishTime()).thenReturn(100011L);
|
||||
when(report.getStatus()).thenReturn("Dummy Status \n*");
|
||||
|
||||
|
||||
when(task.getReport()).thenReturn(report);
|
||||
|
@ -134,6 +135,8 @@ public class TestBlocks {
|
|||
assertTrue(data.toString().contains("SUCCEEDED"));
|
||||
assertTrue(data.toString().contains("100001"));
|
||||
assertTrue(data.toString().contains("100011"));
|
||||
assertFalse(data.toString().contains("Dummy Status \n*"));
|
||||
assertTrue(data.toString().contains("Dummy Status \\n*"));
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -149,7 +149,8 @@ public class HsTaskPage extends HsView {
|
|||
attemptsTableData.append("[\"")
|
||||
.append(sortId + " ").append(taid).append("\",\"")
|
||||
.append(ta.getState()).append("\",\"")
|
||||
.append(ta.getStatus()).append("\",\"")
|
||||
.append(StringEscapeUtils.escapeJavaScript(
|
||||
StringEscapeUtils.escapeHtml(ta.getStatus()))).append("\",\"")
|
||||
|
||||
.append("<a class='nodelink' href='" + MRWebAppUtil.getYARNWebappScheme() + nodeHttpAddr + "'>")
|
||||
.append(nodeRackName + "/" + nodeHttpAddr + "</a>\",\"")
|
||||
|
|
|
@ -159,7 +159,7 @@ public class TestBlocks {
|
|||
when(taReport.getSortFinishTime()).thenReturn(taSortFinishTime);
|
||||
when(taReport.getContainerId()).thenReturn(containerId);
|
||||
when(taReport.getProgress()).thenReturn(1.0f);
|
||||
when(taReport.getStateString()).thenReturn("Processed 128/128 records");
|
||||
when(taReport.getStateString()).thenReturn("Processed 128/128 records <p> \n");
|
||||
when(taReport.getTaskAttemptState()).thenReturn(taState);
|
||||
when(taReport.getDiagnosticInfo()).thenReturn("");
|
||||
|
||||
|
@ -184,6 +184,8 @@ public class TestBlocks {
|
|||
// should be printed information about attempts
|
||||
assertTrue(data.toString().contains("0 attempt_0_0001_r_000000_0"));
|
||||
assertTrue(data.toString().contains("SUCCEEDED"));
|
||||
assertFalse(data.toString().contains("Processed 128/128 records <p> \n"));
|
||||
assertTrue(data.toString().contains("Processed 128\\/128 records <p> \\n"));
|
||||
assertTrue(data.toString().contains(
|
||||
"_0005_01_000001:attempt_0_0001_r_000000_0:User:"));
|
||||
assertTrue(data.toString().contains("100002"));
|
||||
|
|
Loading…
Reference in New Issue