[ https://issues.apache.org/jira/browse/YARN-2729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14964965#comment-14964965 ]
Rohith Sharma K S commented on YARN-2729: ----------------------------------------- bq. Hence i am reverting the fix for the comment which was given by Rohith Sharma K S. IIUC there are no impacts if we do super.serviceStop though theoritically its not the right way to do . Thoughts ? The reason why I suggested in my earlier comment i.e {{In serviceStop in ScriptBasedNodeLabelsProvider , move super.serviceStop(); at end of serviceStop() so first it stops shexec and stopping parent.}} is Consider NM has services A,B,C,D which are started in the order of ABCD. When stopping, the services are stopped in reverse order i.e D,C,B,A. Say, D has child class D1. If you call super.serviceStop() first, D1 clean up will not happen first rather, D1(D,C,B,A)-cleanup D1 which is at the end. Better way to avoid all conflicts is create abstract method say cleanUp() in AbstractNodeLabelProvider. This method can be override in ScriptBasedNodeLabelsProvider. A sample change is like below {code} @Override protected void serviceStop() throws Exception { if (nodeLabelsScheduler != null) { nodeLabelsScheduler.cancel(); } cleanUp(); super.serviceStop(); } {code} > Support script based NodeLabelsProvider Interface in Distributed Node Label > Configuration Setup > ----------------------------------------------------------------------------------------------- > > Key: YARN-2729 > URL: https://issues.apache.org/jira/browse/YARN-2729 > Project: Hadoop YARN > Issue Type: Sub-task > Components: nodemanager > Reporter: Naganarasimha G R > Assignee: Naganarasimha G R > Attachments: YARN-2729.20141023-1.patch, YARN-2729.20141024-1.patch, > YARN-2729.20141031-1.patch, YARN-2729.20141120-1.patch, > YARN-2729.20141210-1.patch, YARN-2729.20150309-1.patch, > YARN-2729.20150322-1.patch, YARN-2729.20150401-1.patch, > YARN-2729.20150402-1.patch, YARN-2729.20150404-1.patch, > YARN-2729.20150517-1.patch, YARN-2729.20150830-1.patch, > YARN-2729.20150925-1.patch, YARN-2729.20151015-1.patch, > YARN-2729.20151019.patch, YARN-2729.20151310-1.patch, > YARN-2729.20151310-2.patch > > > Support script based NodeLabelsProvider Interface in Distributed Node Label > Configuration Setup . > Miscellaneous Issues : > # In configurationNodeLabelsProvider instead of taking multiple labels from > single configuration, we need to support exclusive configuration for > partition (single label). > # Proper logging when registration of Node Fails > # Classloader was not getting reset from custom class loader in > TestConfigurationNodeLabelsProvider.java which could make test cases fail in > certain conditions > # In ResourceTrackerService we need to consider distributed configuration > only when node labels are enabled. leads to lots of logs in certain conditions > # NodeLabelsProvider needs to be a interface rather than abstract class -- This message was sent by Atlassian JIRA (v6.3.4#6332)