private TaskAttemptIdPBImpl convertFromProtoFormat(TaskAttemptIdProto p) { return new TaskAttemptIdPBImpl(p); }
private TaskAttemptIdProto convertToProtoFormat(TaskAttemptId t) { return ((TaskAttemptIdPBImpl)t).getProto(); }
/** * test AttemptsBlock's rendering. */ @Test public void testAttemptsBlock() { AppContext ctx = mock(AppContext.class); AppForTest app = new AppForTest(ctx); Task task = getTask(0); Map<TaskAttemptId, TaskAttempt> attempts = new HashMap<TaskAttemptId, TaskAttempt>(); TaskAttempt attempt = mock(TaskAttempt.class); TaskAttemptId taId = new TaskAttemptIdPBImpl(); taId.setId(0); taId.setTaskId(task.getID()); when(attempt.getID()).thenReturn(taId); when(attempt.getNodeHttpAddress()).thenReturn("Node address"); ApplicationId appId = ApplicationIdPBImpl.newInstance(0, 5); ApplicationAttemptId appAttemptId = ApplicationAttemptIdPBImpl.newInstance(appId, 1); ContainerId containerId = ContainerIdPBImpl.newContainerId(appAttemptId, 1); when(attempt.getAssignedContainerID()).thenReturn(containerId); when(attempt.getAssignedContainerMgrAddress()).thenReturn( "assignedContainerMgrAddress"); when(attempt.getNodeRackName()).thenReturn("nodeRackName"); final long taStartTime = 100002L; final long taFinishTime = 100012L; final long taShuffleFinishTime = 100010L; final long taSortFinishTime = 100011L; final TaskAttemptState taState = TaskAttemptState.SUCCEEDED; when(attempt.getLaunchTime()).thenReturn(taStartTime); when(attempt.getFinishTime()).thenReturn(taFinishTime); when(attempt.getShuffleFinishTime()).thenReturn(taShuffleFinishTime); when(attempt.getSortFinishTime()).thenReturn(taSortFinishTime); when(attempt.getState()).thenReturn(taState); TaskAttemptReport taReport = mock(TaskAttemptReport.class); when(taReport.getStartTime()).thenReturn(taStartTime); when(taReport.getFinishTime()).thenReturn(taFinishTime); when(taReport.getShuffleFinishTime()).thenReturn(taShuffleFinishTime); when(taReport.getSortFinishTime()).thenReturn(taSortFinishTime); when(taReport.getContainerId()).thenReturn(containerId); when(taReport.getProgress()).thenReturn(1.0f); when(taReport.getStateString()).thenReturn("Processed 128/128 records <p> \n"); when(taReport.getTaskAttemptState()).thenReturn(taState); when(taReport.getDiagnosticInfo()).thenReturn(""); when(attempt.getReport()).thenReturn(taReport); attempts.put(taId, attempt); when(task.getAttempts()).thenReturn(attempts); app.setTask(task); Job job = mock(Job.class); when(job.getUserName()).thenReturn("User"); app.setJob(job); AttemptsBlockForTest block = new AttemptsBlockForTest(app); block.addParameter(AMParams.TASK_TYPE, "r"); PrintWriter pWriter = new PrintWriter(data); Block html = new BlockForTest(new HtmlBlockForTest(), pWriter, 0, false); block.render(html); pWriter.flush(); // 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")); assertTrue(data.toString().contains("100010")); assertTrue(data.toString().contains("100011")); assertTrue(data.toString().contains("100012")); }
/** * test AttemptsBlock's rendering. */ @Test public void testAttemptsBlock() { AppContext ctx = mock(AppContext.class); AppForTest app = new AppForTest(ctx); JobId jobId = new JobIdPBImpl(); jobId.setId(0); jobId.setAppId(ApplicationIdPBImpl.newInstance(0,1)); TaskId taskId = new TaskIdPBImpl(); taskId.setId(0); taskId.setTaskType(TaskType.REDUCE); taskId.setJobId(jobId); Task task = mock(Task.class); when(task.getID()).thenReturn(taskId); TaskReport report = mock(TaskReport.class); when(task.getReport()).thenReturn(report); when(task.getType()).thenReturn(TaskType.REDUCE); Map<TaskId, Task> tasks = new HashMap<TaskId, Task>(); Map<TaskAttemptId, TaskAttempt> attempts = new HashMap<TaskAttemptId, TaskAttempt>(); TaskAttempt attempt = mock(TaskAttempt.class); TaskAttemptId taId = new TaskAttemptIdPBImpl(); taId.setId(0); taId.setTaskId(task.getID()); when(attempt.getID()).thenReturn(taId); final TaskAttemptState taState = TaskAttemptState.SUCCEEDED; when(attempt.getState()).thenReturn(taState); TaskAttemptReport taReport = mock(TaskAttemptReport.class); when(taReport.getTaskAttemptState()).thenReturn(taState); when(attempt.getReport()).thenReturn(taReport); attempts.put(taId, attempt); tasks.put(taskId, task); when(task.getAttempts()).thenReturn(attempts); app.setTask(task); Job job = mock(Job.class); when(job.getTasks(TaskType.REDUCE)).thenReturn(tasks); app.setJob(job); AttemptsBlockForTest block = new AttemptsBlockForTest(app, new Configuration()); block.addParameter(AMParams.TASK_TYPE, "r"); block.addParameter(AMParams.ATTEMPT_STATE, "SUCCESSFUL"); PrintWriter pWriter = new PrintWriter(data); Block html = new BlockForTest(new HtmlBlockForTest(), pWriter, 0, false); block.render(html); pWriter.flush(); assertTrue(data.toString().contains( "<a href='" + block.url("task",task.getID().toString()) +"'>" +"attempt_0_0001_r_000000_0</a>")); }
/** * test AttemptsBlock's rendering. */ @Test public void testAttemptsBlock() { AppContext ctx = mock(AppContext.class); AppForTest app = new AppForTest(ctx); Task task = getTask(0); Map<TaskAttemptId, TaskAttempt> attempts = new HashMap<TaskAttemptId, TaskAttempt>(); TaskAttempt attempt = mock(TaskAttempt.class); TaskAttemptId taId = new TaskAttemptIdPBImpl(); taId.setId(0); taId.setTaskId(task.getID()); when(attempt.getID()).thenReturn(taId); when(attempt.getNodeHttpAddress()).thenReturn("Node address"); ApplicationId appId = ApplicationIdPBImpl.newInstance(0, 5); ApplicationAttemptId appAttemptId = ApplicationAttemptIdPBImpl.newInstance(appId, 1); ContainerId containerId = ContainerIdPBImpl.newContainerId(appAttemptId, 1); when(attempt.getAssignedContainerID()).thenReturn(containerId); when(attempt.getAssignedContainerMgrAddress()).thenReturn( "assignedContainerMgrAddress"); when(attempt.getNodeRackName()).thenReturn("nodeRackName"); final long taStartTime = 100002L; final long taFinishTime = 100012L; final long taShuffleFinishTime = 100010L; final long taSortFinishTime = 100011L; final TaskAttemptState taState = TaskAttemptState.SUCCEEDED; when(attempt.getLaunchTime()).thenReturn(taStartTime); when(attempt.getFinishTime()).thenReturn(taFinishTime); when(attempt.getShuffleFinishTime()).thenReturn(taShuffleFinishTime); when(attempt.getSortFinishTime()).thenReturn(taSortFinishTime); when(attempt.getState()).thenReturn(taState); TaskAttemptReport taReport = mock(TaskAttemptReport.class); when(taReport.getStartTime()).thenReturn(taStartTime); when(taReport.getFinishTime()).thenReturn(taFinishTime); when(taReport.getShuffleFinishTime()).thenReturn(taShuffleFinishTime); when(taReport.getSortFinishTime()).thenReturn(taSortFinishTime); when(taReport.getContainerId()).thenReturn(containerId); when(taReport.getProgress()).thenReturn(1.0f); when(taReport.getStateString()).thenReturn("Processed 128/128 records <p> \n"); when(taReport.getTaskAttemptState()).thenReturn(taState); when(taReport.getDiagnosticInfo()).thenReturn(""); when(attempt.getReport()).thenReturn(taReport); attempts.put(taId, attempt); when(task.getAttempts()).thenReturn(attempts); app.setTask(task); Job job = mock(Job.class); when(job.getUserName()).thenReturn("User"); app.setJob(job); AttemptsBlockForTest block = new AttemptsBlockForTest(app); block.addParameter(AMParams.TASK_TYPE, "r"); PrintWriter pWriter = new PrintWriter(data); Block html = new BlockForTest(new HtmlBlockForTest(), pWriter, 0, false); block.render(html); pWriter.flush(); // should be printed information about attempts assertTrue(data.toString().contains("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")); assertTrue(data.toString().contains("100010")); assertTrue(data.toString().contains("100011")); assertTrue(data.toString().contains("100012")); }