You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Jeff Zhang (JIRA)" <ji...@apache.org> on 2014/12/31 04:26:13 UTC

[jira] [Commented] (YARN-2560) Diagnostics is delayed to passed to ApplicationReport

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

Jeff Zhang commented on YARN-2560:
----------------------------------

Check RMAppImpl & RMAppAttemptImpl and found that FinalApplicationStatus would been retrieved from the currentAttempt, while diagnostics would been retrieved from the RMApp which would be updated until it gets the AttemptFinishedEvent. This is the root cause that make the FinalApplicationStatus and diagnostics inconsistent sometimes. 

> Diagnostics is delayed to passed to ApplicationReport
> -----------------------------------------------------
>
>                 Key: YARN-2560
>                 URL: https://issues.apache.org/jira/browse/YARN-2560
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Jeff Zhang
>
> The diagnostics of Application may be delayed to pass to ApplicationReport. Here's one example when ApplicationStatus has changed to FAILED, but the diagnostics is still empty. And the next call of getApplicationReport could get the diagnostics.
> {code}
> while(true) {
>         appReport = yarnClient.getApplicationReport(appId);
>         Thread.sleep(1000);
>         LOG.info("AppStatus:" + appReport.getFinalApplicationStatus());
>         LOG.info("Diagnostics:" + appReport.getDiagnostics());
>         ....
> }
> {code}
> *Output:*
> {code}
> AppStatus:FAILED
> Diagnostics: // empty
> // get diagnostics for the next getApplicationReport
> AppStatus:FAILED
> Diagnostics: // diagnostics info here
> {code}



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