[
https://issues.apache.org/jira/browse/YARN-2729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14961718#comment-14961718
]
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
needed.
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
(v6.3.4#6332)