/** * Test {@link TaskAttemptUnsuccessfulCompletionEvent} for various task types. */ private static void testFailedKilledEventsForTypes(EventType expected, TaskAttemptID id, TaskType[] types, String state) { for (TaskType t : types) { TaskAttemptUnsuccessfulCompletionEvent tauce = new TaskAttemptUnsuccessfulCompletionEvent(id, t, state, 0L, "", ""); assertEquals(expected, tauce.getEventType()); } }
private void handleTaskAttemptFailedEvent( TaskAttemptUnsuccessfulCompletionEvent event) { TaskInfo taskInfo = info.tasksMap.get(event.getTaskId()); if(taskInfo == null) { LOG.warn("TaskInfo is null for TaskAttemptUnsuccessfulCompletionEvent" + " taskId: " + event.getTaskId().toString()); return; taskInfo.attemptsMap.get(event.getTaskAttemptId()); if(attemptInfo == null) { LOG.warn("AttemptInfo is null for TaskAttemptUnsuccessfulCompletionEvent" + " taskAttemptId: " + event.getTaskAttemptId().toString()); return; attemptInfo.finishTime = event.getFinishTime(); attemptInfo.error = StringInterner.weakIntern(event.getError()); attemptInfo.status = StringInterner.weakIntern(event.getTaskStatus()); attemptInfo.hostname = StringInterner.weakIntern(event.getHostname()); attemptInfo.port = event.getPort(); attemptInfo.rackname = StringInterner.weakIntern(event.getRackName()); attemptInfo.shuffleFinishTime = event.getFinishTime(); attemptInfo.sortFinishTime = event.getFinishTime(); attemptInfo.mapFinishTime = event.getFinishTime(); attemptInfo.counters = event.getCounters(); if(TaskStatus.State.SUCCEEDED.toString().equals(taskInfo.status)) info.completedTaskAttemptsMap.put(event.getTaskAttemptId(), attemptInfo);
private void handleTaskAttemptFailedEvent( TaskAttemptUnsuccessfulCompletionEvent event) { TaskInfo taskInfo = info.tasksMap.get(event.getTaskId()); TaskAttemptInfo attemptInfo = taskInfo.attemptsMap.get(event.getTaskAttemptId()); attemptInfo.finishTime = event.getFinishTime(); attemptInfo.error = event.getError(); attemptInfo.status = event.getTaskStatus(); attemptInfo.hostname = event.getHostname(); attemptInfo.shuffleFinishTime = event.getFinishTime(); attemptInfo.sortFinishTime = event.getFinishTime(); attemptInfo.mapFinishTime = event.getFinishTime(); }
private void processTaskAttemptUnsuccessfulCompletionEvent( TaskAttemptUnsuccessfulCompletionEvent event) { recordParsedHost(event.getHostname(), event.getRackName()); }
private void processTaskAttemptUnsuccessfulCompletionEvent( TaskAttemptUnsuccessfulCompletionEvent event) { ParsedTaskAttempt attempt = getOrMakeTaskAttempt(event.getTaskType(), event.getTaskId().toString(), event.getTaskAttemptId().toString()); if (attempt == null) { return; } attempt.setResult(getPre21Value(event.getTaskStatus())); attempt.setHostName(event.getHostname(), event.getRackName()); ParsedHost pHost = getAndRecordParsedHost(event.getRackName(), event.getHostname()); if (pHost != null) { attempt.setLocation(pHost.makeLoggedLocation()); } attempt.setFinishTime(event.getFinishTime()); org.apache.hadoop.mapreduce.jobhistory.JhCounters counters = ((TaskAttemptUnsuccessfulCompletion) event.getDatum()).counters; attempt.incorporateCounters( counters == null ? EMPTY_COUNTERS : counters); attempt.arraySetClockSplits(event.getClockSplits()); attempt.arraySetCpuUsages(event.getCpuUsages()); attempt.arraySetVMemKbytes(event.getVMemKbytes()); attempt.arraySetPhysMemKbytes(event.getPhysMemKbytes()); TaskAttemptUnsuccessfulCompletion t = (TaskAttemptUnsuccessfulCompletion) (event.getDatum()); attempt.putDiagnosticInfo(t.error.toString()); }
/** Get the event type */ public EventType getEventType() { // Note that the task type can be setup/map/reduce/cleanup but the // attempt-type can only be map/reduce. // find out if the task failed or got killed boolean failed = TaskStatus.State.FAILED.toString().equals(getTaskStatus()); return getTaskId().getTaskType() == TaskType.MAP ? (failed ? EventType.MAP_ATTEMPT_FAILED : EventType.MAP_ATTEMPT_KILLED) : (failed ? EventType.REDUCE_ATTEMPT_FAILED : EventType.REDUCE_ATTEMPT_KILLED); }
result = new MapAttemptFinishedEvent(); break; case MAP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case MAP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case REDUCE_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new ReduceAttemptFinishedEvent(); break; case REDUCE_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case REDUCE_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case SETUP_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new TaskAttemptFinishedEvent(); break; case SETUP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case SETUP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case CLEANUP_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new TaskAttemptFinishedEvent(); break; case CLEANUP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case CLEANUP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break;
case SETUP_ATTEMPT_KILLED: taskId = ((TaskAttemptUnsuccessfulCompletionEvent)event). getTaskId().toString(); taskAttemptId = ((TaskAttemptUnsuccessfulCompletionEvent)event). getTaskAttemptId().toString(); taskAttemptIdPrefix = TimelineServiceHelper.invertLong( ((TaskAttemptUnsuccessfulCompletionEvent)event).getStartTime()); break; case MAP_ATTEMPT_FINISHED:
private void processTaskAttemptUnsuccessfulCompletionEvent( TaskAttemptUnsuccessfulCompletionEvent event) { ParsedTaskAttempt attempt = getOrMakeTaskAttempt(event.getTaskType(), event.getTaskId().toString(), event.getTaskAttemptId().toString()); if (attempt == null) { return; } attempt.setResult(getPre21Value(event.getTaskStatus())); attempt.setHostName(event.getHostname(), event.getRackName()); ParsedHost pHost = getAndRecordParsedHost(event.getRackName(), event.getHostname()); if (pHost != null) { attempt.setLocation(pHost.makeLoggedLocation()); } attempt.setFinishTime(event.getFinishTime()); org.apache.hadoop.mapreduce.jobhistory.JhCounters counters = ((TaskAttemptUnsuccessfulCompletion) event.getDatum()).getCounters(); attempt.incorporateCounters( counters == null ? EMPTY_COUNTERS : counters); attempt.arraySetClockSplits(event.getClockSplits()); attempt.arraySetCpuUsages(event.getCpuUsages()); attempt.arraySetVMemKbytes(event.getVMemKbytes()); attempt.arraySetPhysMemKbytes(event.getPhysMemKbytes()); TaskAttemptUnsuccessfulCompletion t = (TaskAttemptUnsuccessfulCompletion) (event.getDatum()); attempt.putDiagnosticInfo(t.getError().toString()); }
/** Get the event type */ public EventType getEventType() { // Note that the task type can be setup/map/reduce/cleanup but the // attempt-type can only be map/reduce. // find out if the task failed or got killed boolean failed = TaskStatus.State.FAILED.toString().equals(getTaskStatus()); return getTaskId().getTaskType() == TaskType.MAP ? (failed ? EventType.MAP_ATTEMPT_FAILED : EventType.MAP_ATTEMPT_KILLED) : (failed ? EventType.REDUCE_ATTEMPT_FAILED : EventType.REDUCE_ATTEMPT_KILLED); }
result = new MapAttemptFinishedEvent(); break; case MAP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case MAP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case REDUCE_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new ReduceAttemptFinishedEvent(); break; case REDUCE_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case REDUCE_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case SETUP_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new TaskAttemptFinishedEvent(); break; case SETUP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case SETUP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case CLEANUP_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new TaskAttemptFinishedEvent(); break; case CLEANUP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case CLEANUP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break;
private void processTaskAttemptUnsuccessfulCompletionEvent( TaskAttemptUnsuccessfulCompletionEvent event) { recordParsedHost(event.getHostname(), event.getRackName()); }
private void handleTaskAttemptFailedEvent( TaskAttemptUnsuccessfulCompletionEvent event) { TaskInfo taskInfo = info.tasksMap.get(event.getTaskId()); if(taskInfo == null) { LOG.warn("TaskInfo is null for TaskAttemptUnsuccessfulCompletionEvent" + " taskId: " + event.getTaskId().toString()); return; taskInfo.attemptsMap.get(event.getTaskAttemptId()); if(attemptInfo == null) { LOG.warn("AttemptInfo is null for TaskAttemptUnsuccessfulCompletionEvent" + " taskAttemptId: " + event.getTaskAttemptId().toString()); return; attemptInfo.finishTime = event.getFinishTime(); attemptInfo.error = StringInterner.weakIntern(event.getError()); attemptInfo.status = StringInterner.weakIntern(event.getTaskStatus()); attemptInfo.hostname = StringInterner.weakIntern(event.getHostname()); attemptInfo.port = event.getPort(); attemptInfo.rackname = StringInterner.weakIntern(event.getRackName()); attemptInfo.shuffleFinishTime = event.getFinishTime(); attemptInfo.sortFinishTime = event.getFinishTime(); attemptInfo.mapFinishTime = event.getFinishTime(); attemptInfo.counters = event.getCounters(); if(TaskStatus.State.SUCCEEDED.toString().equals(taskInfo.status)) info.completedTaskAttemptsMap.put(event.getTaskAttemptId(), attemptInfo);
/** Get the event type */ public EventType getEventType() { // Note that the task type can be setup/map/reduce/cleanup but the // attempt-type can only be map/reduce. // find out if the task failed or got killed boolean failed = TaskStatus.State.FAILED.toString().equals(getTaskStatus()); return getTaskId().getTaskType() == TaskType.MAP ? (failed ? EventType.MAP_ATTEMPT_FAILED : EventType.MAP_ATTEMPT_KILLED) : (failed ? EventType.REDUCE_ATTEMPT_FAILED : EventType.REDUCE_ATTEMPT_KILLED); }
result = new MapAttemptFinishedEvent(); break; case MAP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case MAP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case REDUCE_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new ReduceAttemptFinishedEvent(); break; case REDUCE_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case REDUCE_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case SETUP_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new TaskAttemptFinishedEvent(); break; case SETUP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case SETUP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case CLEANUP_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new TaskAttemptFinishedEvent(); break; case CLEANUP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case CLEANUP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break;
private void handleTaskAttemptFailedEvent( TaskAttemptUnsuccessfulCompletionEvent event) { TaskInfo taskInfo = info.tasksMap.get(event.getTaskId()); if(taskInfo == null) { LOG.warn("TaskInfo is null for TaskAttemptUnsuccessfulCompletionEvent" + " taskId: " + event.getTaskId().toString()); return; taskInfo.attemptsMap.get(event.getTaskAttemptId()); if(attemptInfo == null) { LOG.warn("AttemptInfo is null for TaskAttemptUnsuccessfulCompletionEvent" + " taskAttemptId: " + event.getTaskAttemptId().toString()); return; attemptInfo.finishTime = event.getFinishTime(); attemptInfo.error = StringInterner.weakIntern(event.getError()); attemptInfo.status = StringInterner.weakIntern(event.getTaskStatus()); attemptInfo.hostname = StringInterner.weakIntern(event.getHostname()); attemptInfo.port = event.getPort(); attemptInfo.rackname = StringInterner.weakIntern(event.getRackName()); attemptInfo.shuffleFinishTime = event.getFinishTime(); attemptInfo.sortFinishTime = event.getFinishTime(); attemptInfo.mapFinishTime = event.getFinishTime(); attemptInfo.counters = event.getCounters(); if(TaskStatus.State.SUCCEEDED.toString().equals(taskInfo.status)) info.completedTaskAttemptsMap.put(event.getTaskAttemptId(), attemptInfo);
/** Get the event type */ public EventType getEventType() { // Note that the task type can be setup/map/reduce/cleanup but the // attempt-type can only be map/reduce. // find out if the task failed or got killed boolean failed = TaskStatus.State.FAILED.toString().equals(getTaskStatus()); return getTaskId().getTaskType() == TaskType.MAP ? (failed ? EventType.MAP_ATTEMPT_FAILED : EventType.MAP_ATTEMPT_KILLED) : (failed ? EventType.REDUCE_ATTEMPT_FAILED : EventType.REDUCE_ATTEMPT_KILLED); }
result = new MapAttemptFinishedEvent(); break; case MAP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case MAP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case REDUCE_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new ReduceAttemptFinishedEvent(); break; case REDUCE_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case REDUCE_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case SETUP_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new TaskAttemptFinishedEvent(); break; case SETUP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case SETUP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case CLEANUP_ATTEMPT_STARTED: result = new TaskAttemptStartedEvent(); break; result = new TaskAttemptFinishedEvent(); break; case CLEANUP_ATTEMPT_FAILED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break; case CLEANUP_ATTEMPT_KILLED: result = new TaskAttemptUnsuccessfulCompletionEvent(); break;
private void handleTaskAttemptFailedEvent( TaskAttemptUnsuccessfulCompletionEvent event) { TaskInfo taskInfo = info.tasksMap.get(event.getTaskId()); if(taskInfo == null) { LOG.warn("TaskInfo is null for TaskAttemptUnsuccessfulCompletionEvent" + " taskId: " + event.getTaskId().toString()); return; taskInfo.attemptsMap.get(event.getTaskAttemptId()); if(attemptInfo == null) { LOG.warn("AttemptInfo is null for TaskAttemptUnsuccessfulCompletionEvent" + " taskAttemptId: " + event.getTaskAttemptId().toString()); return; attemptInfo.finishTime = event.getFinishTime(); attemptInfo.error = StringInterner.weakIntern(event.getError()); attemptInfo.status = StringInterner.weakIntern(event.getTaskStatus()); attemptInfo.hostname = StringInterner.weakIntern(event.getHostname()); attemptInfo.port = event.getPort(); attemptInfo.rackname = StringInterner.weakIntern(event.getRackName()); attemptInfo.shuffleFinishTime = event.getFinishTime(); attemptInfo.sortFinishTime = event.getFinishTime(); attemptInfo.mapFinishTime = event.getFinishTime(); attemptInfo.counters = event.getCounters(); if(TaskStatus.State.SUCCEEDED.toString().equals(taskInfo.status)) info.completedTaskAttemptsMap.put(event.getTaskAttemptId(), attemptInfo);
/** Get the event type */ public EventType getEventType() { // Note that the task type can be setup/map/reduce/cleanup but the // attempt-type can only be map/reduce. // find out if the task failed or got killed boolean failed = TaskStatus.State.FAILED.toString().equals(getTaskStatus()); return getTaskId().getTaskType() == TaskType.MAP ? (failed ? EventType.MAP_ATTEMPT_FAILED : EventType.MAP_ATTEMPT_KILLED) : (failed ? EventType.REDUCE_ATTEMPT_FAILED : EventType.REDUCE_ATTEMPT_KILLED); }