[ https://issues.apache.org/jira/browse/YARN-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13838338#comment-13838338 ]
Jason Lowe commented on YARN-1445: ---------------------------------- Personally, I'm still not convinced this is a good idea overall. If an AM is really doing things *after* it unregisters in such a way that the client needs to distinguish FINISHING vs. FINISHED, that itself seems to be a problem. The AM _must not_ do anything critical after it unregisters, because there are no retries at that point. Anything critical needs to be done _before_ unregistering so if the AM crashes (or its node crashes) those critical steps will be re-attempted. In addition there's a limited time in which the app can complete any of these after-unregister tasks, as the RM will kill it if it takes too long and there's no way to ask for more time. There still is the issue of final app time/diagnostics, and in that sense maybe FINISHING should map to the client state of RUNNING instead of FINISHED. By exposing this new, unrecognized state to existing clients, that's essentially how some of them will interpret it if they're looking for explicit, terminal states (like KILLED/FINISHED/FAILED). Others will interpret it as a terminal state since it's not RUNNING. That being said, if we're still bent on exposing this distinction then here's my take: - For killing FINISHING apps, I think it's OK to either go ahead and kill the container or ignore the request. For the latter case, the RM is going to try to kill it in a few minutes anyway and forget about it. - Be sure to check all the existing occurrences of YarnApplication.FINISHED and make sure we don't need to change that code to handle the new YarnApplication.FINISHING state. > 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, YARN-1445.2.patch, YARN-1445.3.patch > > > Today, we will transmit both RMAppState.FINISHING and RMAppState.FINISHED to > YarnApplicationState.FINISHED. -- This message was sent by Atlassian JIRA (v6.1#6144)