[ https://issues.apache.org/jira/browse/YARN-2753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14200007#comment-14200007 ]
zhihai xu commented on YARN-2753: --------------------------------- Hi [~leftnoteasy], thanks for the thorough review. item 1). fixed item 2). fixed item 3). fixed item 4). fixed. I agree to you and also the ForwardingEventHandler is only active(registered) when CommonNodeLabelsManager#serviceStart is called, and serviceStart will be only called in STATE.STARTED. I attached a new patch YARN-2753.006.patch which addressed all your comments. thanks zhihai > Fix potential issues and code clean up for *NodeLabelsManager > ------------------------------------------------------------- > > Key: YARN-2753 > URL: https://issues.apache.org/jira/browse/YARN-2753 > Project: Hadoop YARN > Issue Type: Sub-task > Reporter: zhihai xu > Assignee: zhihai xu > Attachments: YARN-2753.000.patch, YARN-2753.001.patch, > YARN-2753.002.patch, YARN-2753.003.patch, YARN-2753.004.patch, > YARN-2753.005.patch, YARN-2753.006.patch > > > Issues include: > * CommonNodeLabelsManager#addToCluserNodeLabels should not change the value > in labelCollections if the key already exists otherwise the Label.resource > will be changed(reset). > * potential NPE(NullPointerException) in checkRemoveLabelsFromNode of > CommonNodeLabelsManager. > ** because when a Node is created, Node.labels can be null. > ** In this case, nm.labels; may be null. So we need check originalLabels not > null before use it(originalLabels.containsAll). > * addToCluserNodeLabels should be protected by writeLock in > RMNodeLabelsManager.java. because we should protect labelCollections in > RMNodeLabelsManager. > * Fix a potential bug in CommonsNodeLabelsManager, after serviceStop(...) is > invoked, some event may not be processed, see > [comment|https://issues.apache.org/jira/browse/YARN-2753?focusedCommentId=14197206&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14197206] -- This message was sent by Atlassian JIRA (v6.3.4#6332)