[
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)