[ https://issues.apache.org/jira/browse/YARN-170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13480105#comment-13480105 ]
Sandy Ryza commented on YARN-170: --------------------------------- I'm new to the codebase, so let me know if I'm misunderstanding the way things work, but the way I was looking at it was: The NodeStatusUpdater signalling by stopping itself and expecting the NodeManager to notice seems like an unnecessary overloading of the NodeStatusUpdater shutdown, requiring the extra coordination of the NodeStatusUpdater's hasToReboot variable. In a hierarchy of services, shouldn't the parents stop first, and be responsible for stopping their descendants? The way it's implemented now violates the hierarchy as well, just in a less direct way that tangles the already complicated shutdown procedure. > NodeManager stop() gets called twice on shutdown > ------------------------------------------------ > > Key: YARN-170 > URL: https://issues.apache.org/jira/browse/YARN-170 > Project: Hadoop YARN > Issue Type: Bug > Components: nodemanager > Affects Versions: 2.0.2-alpha > Reporter: Sandy Ryza > Assignee: Sandy Ryza > > The stop method in the NodeManager gets called twice when the NodeManager is > shut down via the shutdown hook. > The first is the stop that gets called directly by the shutdown hook. The > second occurs when the NodeStatusUpdaterImpl is stopped. The NodeManager > responds to the NodeStatusUpdaterImpl stop stateChanged event by stopping > itself. This is so that NodeStatusUpdaterImpl can notify the NodeManager to > stop, by stopping itself in response to a request from the ResourceManager > This could be avoided if the NodeStatusUpdaterImpl were to stop the > NodeManager by calling its stop method directly. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira