예제 #1
0
  /**
   * Indicate that one of the taskids in this already-completed TaskInProgress has successfully
   * completed; hence we mark this taskid as {@link TaskStatus.State.KILLED}.
   */
  void alreadyCompletedTask(TaskAttemptID taskid) {
    // 'KILL' the task
    completedTask(taskid, TaskStatus.State.KILLED);

    // Note the reason for the task being 'KILLED'
    addDiagnosticInfo(taskid, "Already completed TIP");

    LOG.info("Already complete TIP " + getTIPId() + " has completed task " + taskid);
  }
예제 #2
0
  /** Indicate that one of the taskids in this TaskInProgress has successfully completed! */
  public void completed(TaskAttemptID taskid) {
    //
    // Record that this taskid is complete
    //
    completedTask(taskid, TaskStatus.State.SUCCEEDED);

    // Note the successful taskid
    setSuccessfulTaskid(taskid);

    //
    // Now that the TIP is complete, the other speculative
    // subtasks will be closed when the owning tasktracker
    // reports in and calls shouldClose() on this object.
    //

    this.completes++;
    this.execFinishTime = JobTracker.getClock().getTime();
    recomputeProgress();
  }