hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xuan Gong (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-1445) Separate FINISHING and FINISHED state in YarnApplicationState
Date Wed, 27 Nov 2013 19:17:36 GMT

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

Xuan Gong commented on YARN-1445:
---------------------------------

bq. A nit: ResourceManagerRest.apt.vm needs to be updated as well

Updated

bq. Do we need to take care of FINISHING case in ClientServiceDelegate, WebAppProxyServlet
and etc? IMOH, it's good to double check the places where FINISHED is used, to see whether
we need to handle FINISHING given the change.

Let us walk thru the list:
1. At LogsCLI::verifyApplicationState(), the function is used to figure out the RMApp state,
and see if it is good time to check Logs. If the YarnApplicationState is FINISHING, it will
return -1. It means it is not good time to check log. I think that makes sense. RMApp will
notify NM to start log aggregation when it is at FINISHED/KILLED/FAILED state

2. At Client::monitorApplication() and UnmanagedAMLauncher::run(). Both of them are used to
monitor the application whether it is finished. So, handle YarnApplicationState.FINISHED alone
should be enough.

3.WebAppProxyServlet::doGet(). I think we might need to handle FINISHING as well as FINISHED.


4.At TypeConvert::fromYarn(), We can handle FINISHING as well as FINISHED. It will check the
FinalApplicationStatus, this FinalApplicationStatus is based on the currentAppAttempt's finalStatus,
or is generated by currentState of RMApp (In this case, the RMApp's FINISHING and FINISHED
will be counted as the same status)

5.ClientServiceDelegate::getProxy(), we might need to handle YarnApplicationState.FINISHING,
too.

6.ApplicationCLI::killApplication(). Here is a question mark. We can kill the AM when the
RMApp is at Finishing state, since the AM did not really exist. Just for DS and MR, when the
AM did the unregisterApplicationMaster, that means the application is finished, so at this
time, if we send kill event, it is meaningless. Here, I just handle the YarnApplicationState.Finishing
and Finished with the same way. 

> Separate FINISHING and FINISHED state in YarnApplicationState
> -------------------------------------------------------------
>
>                 Key: YARN-1445
>                 URL: https://issues.apache.org/jira/browse/YARN-1445
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Xuan Gong
>            Assignee: Xuan Gong
>         Attachments: YARN-1445.1.patch
>
>
> Today, we will transmit both RMAppState.FINISHING and RMAppState.FINISHED to YarnApplicationState.FINISHED.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message