@Override public GetTaskReportResponse getTaskReport(GetTaskReportRequest request) throws IOException { TaskId taskId = request.getTaskId(); Job job = verifyAndGetJob(taskId.getJobId(), true); GetTaskReportResponse response = recordFactory.newRecordInstance(GetTaskReportResponse.class); response.setTaskReport(job.getTask(taskId).getReport()); return response; }
@Override public GetTaskAttemptReportResponse getTaskAttemptReport( GetTaskAttemptReportRequest request) throws IOException { TaskAttemptId taskAttemptId = request.getTaskAttemptId(); Job job = verifyAndGetJob(taskAttemptId.getTaskId().getJobId(), true); GetTaskAttemptReportResponse response = recordFactory.newRecordInstance(GetTaskAttemptReportResponse.class); response.setTaskAttemptReport(job.getTask(taskAttemptId.getTaskId()).getAttempt(taskAttemptId).getReport()); return response; }
@Override public GetDiagnosticsResponse getDiagnostics(GetDiagnosticsRequest request) throws IOException { TaskAttemptId taskAttemptId = request.getTaskAttemptId(); Job job = verifyAndGetJob(taskAttemptId.getTaskId().getJobId(), true); GetDiagnosticsResponse response = recordFactory.newRecordInstance(GetDiagnosticsResponse.class); response.addAllDiagnostics(job.getTask(taskAttemptId.getTaskId()).getAttempt(taskAttemptId).getDiagnostics()); return response; }
public JobTaskEvent(TaskId taskID, TaskState taskState) { super(taskID.getJobId(), JobEventType.JOB_TASK_COMPLETED); this.taskID = taskID; this.taskState = taskState; }
public JobTaskEvent(TaskId taskID, TaskState taskState) { super(taskID.getJobId(), JobEventType.JOB_TASK_COMPLETED); this.taskID = taskID; this.taskState = taskState; }
public JobTaskAttemptFetchFailureEvent(TaskAttemptId reduce, List<TaskAttemptId> maps, String host) { super(reduce.getTaskId().getJobId(), JobEventType.JOB_TASK_ATTEMPT_FETCH_FAILURE); this.reduce = reduce; this.maps = maps; this.hostname = host; }
private AtomicInteger containerNeed(TaskId taskID) { JobId jobID = taskID.getJobId(); TaskType taskType = taskID.getTaskType(); ConcurrentMap<JobId, AtomicInteger> relevantMap = taskType == TaskType.MAP ? mapContainerNeeds : reduceContainerNeeds; AtomicInteger result = relevantMap.get(jobID); if (result == null) { relevantMap.putIfAbsent(jobID, new AtomicInteger(0)); result = relevantMap.get(jobID); } return result; }
@Override public String toString() { StringBuilder builder = new StringBuilder(TASK); JobId jobId = getJobId(); builder.append("_").append(jobId.getAppId().getClusterTimestamp()); builder.append("_").append( JobId.jobIdFormat.get().format(jobId.getAppId().getId())); builder.append("_"); builder.append(getTaskType() == TaskType.MAP ? "m" : "r").append("_"); builder.append(taskIdFormat.get().format(getId())); return builder.toString(); }
@Override public String toString() { StringBuilder builder = new StringBuilder(TASK); JobId jobId = getJobId(); builder.append("_").append(jobId.getAppId().getClusterTimestamp()); builder.append("_").append( JobId.jobIdFormat.get().format(jobId.getAppId().getId())); builder.append("_"); builder.append(getTaskType() == TaskType.MAP ? "m" : "r").append("_"); builder.append(taskIdFormat.get().format(getId())); return builder.toString(); }
private Task verifyAndGetTask(TaskId taskID, JobACL accessType) throws IOException { Task task = verifyAndGetJob(taskID.getJobId(), accessType, true).getTask(taskID); if (task == null) { throw new IOException("Unknown Task " + taskID); } return task; }
protected void internalError(TaskEventType type) { LOG.error("Invalid event " + type + " on Task " + this.taskId); eventHandler.handle(new JobDiagnosticsUpdateEvent( this.taskId.getJobId(), "Invalid event " + type + " on Task " + this.taskId)); eventHandler.handle(new JobEvent(this.taskId.getJobId(), JobEventType.INTERNAL_ERROR)); }
public JobTaskAttemptCompletedEvent(TaskAttemptCompletionEvent completionEvent) { super(completionEvent.getAttemptId().getTaskId().getJobId(), JobEventType.JOB_TASK_ATTEMPT_COMPLETED); this.completionEvent = completionEvent; }
boolean canSpeculate(AppContext context, TaskId taskID) { // This class rejects speculating any task that already has speculations, // or isn't running. // Subclasses should call TaskSpeculationPredicate.canSpeculate(...) , but // can be even more restrictive. JobId jobID = taskID.getJobId(); Job job = context.getJob(jobID); Task task = job.getTask(taskID); return task.getAttempts().size() == 1; } }
boolean canSpeculate(AppContext context, TaskId taskID) { // This class rejects speculating any task that already has speculations, // or isn't running. // Subclasses should call TaskSpeculationPredicate.canSpeculate(...) , but // can be even more restrictive. JobId jobID = taskID.getJobId(); Job job = context.getJob(jobID); Task task = job.getTask(taskID); return task.getAttempts().size() == 1; } }
@SuppressWarnings({ "unchecked" }) private void updatePreemptionCounters(TaskAttemptId yarnAttemptID) { if (!countedPreemptions.contains(yarnAttemptID)) { countedPreemptions.add(yarnAttemptID); JobCounterUpdateEvent jce = new JobCounterUpdateEvent(yarnAttemptID .getTaskId().getJobId()); jce.addCounterUpdate(JobCounter.TASKS_REQ_PREEMPT, 1); eventHandler.handle(jce); } }
private void sendTaskSucceededEvents() { eventHandler.handle(new JobTaskEvent(taskId, TaskState.SUCCEEDED)); LOG.info("Task succeeded with attempt " + successfulAttempt); if (historyTaskStartGenerated) { TaskFinishedEvent tfe = createTaskFinishedEvent(this, TaskStateInternal.SUCCEEDED); eventHandler.handle(new JobHistoryEvent(taskId.getJobId(), tfe)); } }
private void sendTaskSucceededEvents() { eventHandler.handle(new JobTaskEvent(taskId, TaskState.SUCCEEDED)); LOG.info("Task succeeded with attempt " + successfulAttempt); if (historyTaskStartGenerated) { TaskFinishedEvent tfe = createTaskFinishedEvent(this, TaskStateInternal.SUCCEEDED); eventHandler.handle(new JobHistoryEvent(taskId.getJobId(), tfe)); } }
private void sendTaskStartedEvent() { launchTime = getLaunchTime(); TaskStartedEvent tse = new TaskStartedEvent( TypeConverter.fromYarn(taskId), launchTime, TypeConverter.fromYarn(taskId.getTaskType()), getSplitsAsString()); eventHandler .handle(new JobHistoryEvent(taskId.getJobId(), tse)); historyTaskStartGenerated = true; }
@SuppressWarnings("unchecked") @Override public void handle(TaskAttemptEvent event) { Job job = context.getJob(event.getTaskAttemptID().getTaskId().getJobId()); Task task = job.getTask(event.getTaskAttemptID().getTaskId()); TaskAttempt attempt = task.getAttempt(event.getTaskAttemptID()); ((EventHandler<TaskAttemptEvent>) attempt).handle(event); } }
@Override public GetDiagnosticsResponse getDiagnostics(GetDiagnosticsRequest request) throws IOException { TaskAttemptId taskAttemptId = request.getTaskAttemptId(); Job job = verifyAndGetJob(taskAttemptId.getTaskId().getJobId(), true); GetDiagnosticsResponse response = recordFactory.newRecordInstance(GetDiagnosticsResponse.class); response.addAllDiagnostics(job.getTask(taskAttemptId.getTaskId()).getAttempt(taskAttemptId).getDiagnostics()); return response; }