[ 
https://issues.apache.org/jira/browse/YARN-4386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15022818#comment-15022818
 ] 

Sunil G commented on YARN-4386:
-------------------------------

Hi [~kshukla],
As I see it, we can RECOMMISSION only those nodes which are in DECOMMISSIONING 
mode. Such nodes are present in {{getRMNodes}} which is correct.

Also if you see {{RMNodeImpl}}, RECOMMISSION event is not present from 
DECOMMISSIONED state. Hence even if it hits the code, it will throw an 
InvalidState Exception. So looping only in {{rmContext.getRMNodes()}} looks 
fine for me, however I also feel we do not need that extra if check which does 
for DECOMMISSIONED.
cc/ [~djp]

> refreshNodesGracefully() looks at active RMNode list for recommissioning 
> decommissioned nodes
> ---------------------------------------------------------------------------------------------
>
>                 Key: YARN-4386
>                 URL: https://issues.apache.org/jira/browse/YARN-4386
>             Project: Hadoop YARN
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: Kuhu Shukla
>            Assignee: Kuhu Shukla
>
> In refreshNodesGracefully(), during recommissioning, the entryset from 
> getRMNodes() which has only active nodes (RUNNING, DECOMMISSIONING etc.) is 
> used for checking 'decommissioned' nodes which are present in 
> getInactiveRMNodes() map alone. 
> {code}
> for (Entry<NodeId, RMNode> entry:rmContext.getRMNodes().entrySet()) { 
> .........................
>  // Recommissioning the nodes
>         if (entry.getValue().getState() == NodeState.DECOMMISSIONING
>             || entry.getValue().getState() == NodeState.DECOMMISSIONED) {
>           this.rmContext.getDispatcher().getEventHandler()
>               .handle(new RMNodeEvent(nodeId, RMNodeEventType.RECOMMISSION));
>         }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to