private void testTaskAttemptAssignedKilledHistory (FailingAttemptsDuringAssignedMRApp app) throws Exception { Configuration conf = new Configuration(); Job job = app.submit(conf); app.waitForState(job, JobState.RUNNING); Map<TaskId, Task> tasks = job.getTasks(); Task task = tasks.values().iterator().next(); app.waitForState(task, TaskState.SCHEDULED); Map<TaskAttemptId, TaskAttempt> attempts = task.getAttempts(); TaskAttempt attempt = attempts.values().iterator().next(); app.waitForState(attempt, TaskAttemptState.KILLED); waitFor(app::getTaStartJHEvent, 100, 800); waitFor(app::getTaKilledJHEvent, 100, 800); }
new FailingAttemptsDuringAssignedMRApp(1, 0, TaskAttemptEventType.TA_CONTAINER_LAUNCH_FAILED); testTaskAttemptAssignedFailHistory(app); app.close(); new FailingAttemptsDuringAssignedMRApp(0, 1, TaskAttemptEventType.TA_CONTAINER_LAUNCH_FAILED); testTaskAttemptAssignedFailHistory(app); app.close(); new FailingAttemptsDuringAssignedMRApp(1, 0, TaskAttemptEventType.TA_CONTAINER_COMPLETED); testTaskAttemptAssignedFailHistory(app); app.close(); new FailingAttemptsDuringAssignedMRApp(0, 1, TaskAttemptEventType.TA_CONTAINER_COMPLETED); testTaskAttemptAssignedFailHistory(app); app.close(); new FailingAttemptsDuringAssignedMRApp(1, 0, TaskAttemptEventType.TA_FAILMSG); testTaskAttemptAssignedFailHistory(app); app.close(); new FailingAttemptsDuringAssignedMRApp(0, 1, TaskAttemptEventType.TA_FAILMSG); testTaskAttemptAssignedFailHistory(app); app.close();
@Override protected void attemptLaunched(TaskAttemptId attemptID) { getContext().getEventHandler().handle( new TaskAttemptEvent(attemptID, sendFailEvent)); }
private void testTaskAttemptAssignedFailHistory (FailingAttemptsDuringAssignedMRApp app) throws Exception { Configuration conf = new Configuration(); Job job = app.submit(conf); app.waitForState(job, JobState.FAILED); Map<TaskId, Task> tasks = job.getTasks(); Assert.assertTrue("No Ta Started JH Event", app.getTaStartJHEvent()); Assert.assertTrue("No Ta Failed JH Event", app.getTaFailedJHEvent()); }