Rohith commented on YARN-3222:

I thought in the below way, for handling race in the above scenario discussed
# if oldNode is same as newNode and change in the capability, then update the 
resource first in scheduler.
## ClusterResource=5gb+5gb
## Update Resource with new node capability, ClusterResource=5gb+10gb(new 
# Remove node with new capability
## ClusterResource=15gb-10gb(new capability)=5gb
# Add Node with new capability
## ClusterResouce=5gb+10gb=15gb which is expected and 
{{RMNode#totalCapability}} is 10gb

Does it make sense?

> RMNodeImpl#ReconnectNodeTransition should send scheduler events in sequential 
> order
> -----------------------------------------------------------------------------------
>                 Key: YARN-3222
>                 URL: https://issues.apache.org/jira/browse/YARN-3222
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: resourcemanager
>    Affects Versions: 2.6.0
>            Reporter: Rohith
>            Assignee: Rohith
>            Priority: Critical
>         Attachments: 0001-YARN-3222.patch, 0002-YARN-3222.patch, 
> 0003-YARN-3222.patch
> When a node is reconnected,RMNodeImpl#ReconnectNodeTransition notifies the 
> scheduler in a events node_added,node_removed or node_resource_update. These 
> events should be notified in an sequential order i.e node_added event and 
> next node_resource_update events.
> But if the node is reconnected with different http port, the oder of 
> scheduler events are node_removed --> node_resource_update --> node_added 
> which causes scheduler does not find the node and throw NPE and RM exit.
> Node_Resource_update event should be always should be triggered via 

This message was sent by Atlassian JIRA

Reply via email to