.getAllTasks(); for (TaskInfo taskInfo : taskInfos.values()) { if (TaskState.SUCCEEDED.toString().equals(taskInfo.getTaskStatus())) { Iterator<Entry<TaskAttemptID, TaskAttemptInfo>> taskAttemptIterator = taskInfo.getAllTaskAttempts().entrySet().iterator(); while (taskAttemptIterator.hasNext()) { Map.Entry<TaskAttemptID, TaskAttemptInfo> currentEntry = taskAttemptIterator.next(); .put(TypeConverter.toYarn(taskInfo.getTaskId()), taskInfo); LOG.info("Read from history task " + TypeConverter.toYarn(taskInfo.getTaskId()));
StringBuffer taskList = new StringBuffer(); for (JobHistoryParser.TaskInfo task : tasks.values()) { if (taskType.equals(task.getTaskType()) && (status.equals(task.getTaskStatus()) || status.equalsIgnoreCase("ALL"))) { taskList.setLength(0); taskList.append(task.getTaskId()); taskList.append("\t").append(StringUtils.getFormattedTimeWithDiff( dateFormat, task.getStartTime(), 0)); taskList.append("\t").append(StringUtils.getFormattedTimeWithDiff( dateFormat, task.getFinishTime(), task.getStartTime())); taskList.append("\t").append(task.getError()); if (TaskType.MAP.equals(taskType)) { taskList.append("\t").append(task.getSplitLocations());
private static void addTaskInfo(JobHistoryParser.JobInfo job, TaskType type, int id, TaskStatus.State status) { JobHistoryParser.TaskInfo task = new JobHistoryParser.TaskInfo(); task.taskId = new TaskID(job.getJobId(), type, id); task.startTime = job.getLaunchTime() + id * 1000; task.finishTime = task.startTime + id * 1000; task.taskType = type; task.counters = createCounters(); task.status = status.name(); task.attemptsMap = new HashMap<>(); addTaskAttemptInfo(task, 1); job.tasksMap.put(task.getTaskId(), task); }
tipsMap.get(tip).getAllTaskAttempts(); for (TaskAttemptID attempt : attemptsMap.keySet()) { tipsMap.get(tip).getAllTaskAttempts(); for (TaskAttemptID attempt : attemptsMap.keySet()) {
JobHistoryParser.TaskInfo task = tasks.get(tipid); Map<TaskAttemptID, JobHistoryParser.TaskAttemptInfo> attempts = task.getAllTaskAttempts(); JobHistoryParser.TaskAttemptInfo attempt = attempts.get(TaskAttemptID.forName(attemptid));
TaskType type = task.getTaskType(); for (JobHistoryParser.TaskAttemptInfo attempt : task.getAllTaskAttempts().values()) { printTaskAttempt(attempt, type, out, logFile); for (String split : StringUtils.split(task.getSplitLocations()))
if (taskType.equalsIgnoreCase(task.getTaskType().toString())) { Map <TaskAttemptID, JobHistoryParser.TaskAttemptInfo> taskAttempts = task.getAllTaskAttempts(); for (JobHistoryParser.TaskAttemptInfo taskAttempt : taskAttempts.values()) { if (taskStatus.equals(taskAttempt.getTaskStatus()) ||
OutputCommitter committer, boolean recoverTaskOutput) { LOG.info("Recovering task " + taskId + " from prior app attempt, status was " + taskInfo.getTaskStatus()); scheduledTime = taskInfo.getStartTime(); sendTaskStartedEvent(); Collection<TaskAttemptInfo> attemptInfos = taskInfo.getAllTaskAttempts().values(); new ArrayList<TaskAttemptInfo>(taskInfo.getAllTaskAttempts().values()); Collections.sort(taInfos, TA_INFO_COMPARATOR); for (TaskAttemptInfo taInfo : taInfos) { taskInfo.getTaskStatus()); switch (taskState) { case SUCCEEDED: metrics.endWaitingTask(this); TaskFailedEvent tfe = new TaskFailedEvent(taskInfo.getTaskId(), taskInfo.getFinishTime(), taskInfo.getTaskType(), taskInfo.getError(), taskInfo.getTaskStatus(), taskInfo.getFailedDueToAttemptId(), taskInfo.getCounters()); eventHandler.handle(new JobHistoryEvent(taskId.getJobId(), tfe)); eventHandler.handle(
OutputCommitter committer, boolean recoverTaskOutput) { LOG.info("Recovering task " + taskId + " from prior app attempt, status was " + taskInfo.getTaskStatus()); scheduledTime = taskInfo.getStartTime(); sendTaskStartedEvent(); Collection<TaskAttemptInfo> attemptInfos = taskInfo.getAllTaskAttempts().values(); new ArrayList<TaskAttemptInfo>(taskInfo.getAllTaskAttempts().values()); Collections.sort(taInfos, TA_INFO_COMPARATOR); for (TaskAttemptInfo taInfo : taInfos) { taskInfo.getTaskStatus()); switch (taskState) { case SUCCEEDED: metrics.endWaitingTask(this); TaskFailedEvent tfe = new TaskFailedEvent(taskInfo.getTaskId(), taskInfo.getFinishTime(), taskInfo.getTaskType(), taskInfo.getError(), taskInfo.getTaskStatus(), taskInfo.getFailedDueToAttemptId(), taskInfo.getCounters()); eventHandler.handle(new JobHistoryEvent(taskId.getJobId(), tfe)); eventHandler.handle(
for (TaskAttemptInfo attempt : task.getAllTaskAttempts().values()) {
for (TaskAttemptInfo attempt : task.getAllTaskAttempts().values()) {
OutputCommitter committer, boolean recoverTaskOutput) { LOG.info("Recovering task " + taskId + " from prior app attempt, status was " + taskInfo.getTaskStatus()); scheduledTime = taskInfo.getStartTime(); sendTaskStartedEvent(); Collection<TaskAttemptInfo> attemptInfos = taskInfo.getAllTaskAttempts().values(); new ArrayList<TaskAttemptInfo>(taskInfo.getAllTaskAttempts().values()); Collections.sort(taInfos, TA_INFO_COMPARATOR); for (TaskAttemptInfo taInfo : taInfos) { taskInfo.getTaskStatus()); switch (taskState) { case SUCCEEDED: metrics.endWaitingTask(this); TaskFailedEvent tfe = new TaskFailedEvent(taskInfo.getTaskId(), taskInfo.getFinishTime(), taskInfo.getTaskType(), taskInfo.getError(), taskInfo.getTaskStatus(), taskInfo.getFailedDueToAttemptId(), taskInfo.getCounters(), launchTime); eventHandler.handle(new JobHistoryEvent(taskId.getJobId(), tfe));
TaskID tid = task.getTaskId(); "file did not match the expected value", tip.getExecStartTime() == task.getStartTime()); task.getFinishTime()); tip.getSplitNodes().equals(task.getSplitLocations())); assertTrue("Counters of Task " + tid + " obtained from history file " + " did not match the expected value", c.equals(task.getCounters()));
task.getAllTaskAttempts().keySet()) { URL taskstats = new URL(jobTrackerUrlStr + TASKSTATS + ".jsp?attemptid=" + attemptid);
task.getAllTaskAttempts(); for (JobHistoryParser.TaskAttemptInfo attempt : attempts.values()) { if (attempt.getTaskStatus().