Sunil G commented on YARN-2729:

Hi [~Naganarasimha] and [~rohithsharma]
Sorry for coming in late. I have some doubts here.

In {{ScriptBasedNodeLabelsProvider#serviceStop}}, {{shexec}} process is 
destroyed and the {{super.stop()}} is invoked. Hence I feel it may still be 
possible that {{shexec}} may again get executed (if one timer run happens in 
this timeframe) before timer is cancelled from 
{{AbstractNodeLabelsProvider#serviceStop}}. We can do {{super.stop()}} first 
from ScriptBasedNodeLabelsProvider. But I feel it may not be better, so could 
we reset *shexec* to null after attached process is destroyed (may also need a 
null check in timetask if we do this). Thoughts?

couple of other comments:
1. ScriptBasedNodeLabelsProvider#serviceInit: {{verifyConfiguredScript}} is 
invoked with {{nodeLabelsScript}} which is a class variable. It may not  be 
2. I have one doubt in {{fetchLabelsFromScriptOutput}}. {{scriptOutput}} is 
split  with newline and each line is checked whether its starts with 
NODE_LABEL_PARTITION_PATTERN. But if we have multiple lines from input string 
which starts with NODE_LABEL_PARTITION_PATTERN, then only last line will be set 
to {{nodePartitionLabel}}. I didnt understand this part. Could you please have 
a look on this.

> 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.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

Reply via email to