[ 
https://issues.apache.org/jira/browse/TEZ-2024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14304501#comment-14304501
 ] 

Jeff Zhang commented on TEZ-2024:
---------------------------------

bq. From a recovery point of view, it might need a start before a finish. Are 
there known cases where an end is recorded even though a start did not happen 
where the end state is not KILLED?
It is possible finish happens before it is started. Here's one case that 
TaskAttempt is terminated before it is started. I think we can just verify that 
the status must be KILLED/FAILURE if there's no StartedEvent before 
FinishedEvent. 

{code}
      try {
        remoteTaskSpec = ta.createRemoteTaskSpec();
        LOG.info("remoteTaskSpec:" + remoteTaskSpec);
      } catch (AMUserCodeException e) {
        String msg = "Exception in " + e.getSource() + ", taskAttempt=" + ta;
        LOG.error(msg, e);
        String diag = msg + ", " + e.getMessage() + ", " + 
ExceptionUtils.getStackTrace(e.getCause());
        new TerminateTransition(FAILED_HELPER).transition(ta,
            new TaskAttemptEventAttemptFailed(ta.getID(), 
TaskAttemptEventType.TA_FAILED, diag,
                TaskAttemptTerminationCause.APPLICATION_ERROR));
        return TaskAttemptStateInternal.FAILED;
      }
{code}


> TaskFinishedEvent may not be logged in recovery 
> ------------------------------------------------
>
>                 Key: TEZ-2024
>                 URL: https://issues.apache.org/jira/browse/TEZ-2024
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>         Attachments: TEZ-2024-1.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to