[ https://issues.apache.org/jira/browse/YARN-3990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rohith Sharma K S updated YARN-3990: ------------------------------------ Summary: AsyncDispatcher may overloaded with RMAppNodeUpdateEvent when Node is connected/disconnected (was: AsyncDispatcher may overloaded with RMAppNodeUpdateEvent when Node is connected ) > AsyncDispatcher may overloaded with RMAppNodeUpdateEvent when Node is > connected/disconnected > -------------------------------------------------------------------------------------------- > > Key: YARN-3990 > URL: https://issues.apache.org/jira/browse/YARN-3990 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager > Reporter: Rohith Sharma K S > Assignee: Bibin A Chundatt > Priority: Critical > > Whenever node is added or removed, NodeListManager sends RMAppNodeUpdateEvent > to all the applications that are in the rmcontext. But for > finished/killed/failed applications it is not required to send these events. > Additional check for wheather app is finished/killed/failed would minimizes > the unnecessary events > {code} > public void handle(NodesListManagerEvent event) { > RMNode eventNode = event.getNode(); > switch (event.getType()) { > case NODE_UNUSABLE: > LOG.debug(eventNode + " reported unusable"); > unusableRMNodesConcurrentSet.add(eventNode); > for(RMApp app: rmContext.getRMApps().values()) { > this.rmContext > .getDispatcher() > .getEventHandler() > .handle( > new RMAppNodeUpdateEvent(app.getApplicationId(), eventNode, > RMAppNodeUpdateType.NODE_UNUSABLE)); > } > break; > case NODE_USABLE: > if (unusableRMNodesConcurrentSet.contains(eventNode)) { > LOG.debug(eventNode + " reported usable"); > unusableRMNodesConcurrentSet.remove(eventNode); > } > for (RMApp app : rmContext.getRMApps().values()) { > this.rmContext > .getDispatcher() > .getEventHandler() > .handle( > new RMAppNodeUpdateEvent(app.getApplicationId(), eventNode, > RMAppNodeUpdateType.NODE_USABLE)); > } > break; > default: > LOG.error("Ignoring invalid eventtype " + event.getType()); > } > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)