[ https://issues.apache.org/jira/browse/YARN-1509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
MENG DING updated YARN-1509: ---------------------------- Attachment: YARN-1509.9.patch Thanks [~jianhe] for reviewing the patch and giving feedback offline. To summarize, in the following function: {code: title=AMRMClientImpl.java} + protected void removePendingChangeRequests( + List<Container> changedContainers, boolean isIncrease) { + for (Container changedContainer : changedContainers) { + ContainerId containerId = changedContainer.getId(); + if (pendingChange.get(containerId) == null) { + continue; + } + Resource target = pendingChange.get(containerId).getValue(); + if (target == null) { + continue; + } + Resource changed = changedContainer.getResource(); + if (isIncrease) { + if (Resources.fitsIn(target, changed)) { + if (LOG.isDebugEnabled()) { + LOG.debug("RM has confirmed increased resource allocation for " + + "container " + containerId + ". Current resource allocation:" + + changed + ". Remove pending change request:" + + target); + } + pendingChange.remove(containerId); + } + } else { + if (Resources.fitsIn(changed, target)) { + if (LOG.isDebugEnabled()) { + LOG.debug("RM has confirmed decreased resource allocation for " + + "container " + containerId + ". Current resource allocation:" + + changed + ". Remove pending change request:" + + target); + } + pendingChange.remove(containerId); + } + } + } + } {code} * There is no need to check null for {{target}}, as under no circumstance will it become null. * Better yet, there is even no need to compare {{changed}} with {{target}}. Because {{Resources.fitsIn(changed, target)}} will always be true for confirmed increase request, and same with {{Resources.fitsIn(changed, target)}} for confirmed decreased request. I added these checks originally to be defensive, but after all, there is really no need for them. Attaching latest patch that addresses the above. > Make AMRMClient support send increase container request and get > increased/decreased containers > ---------------------------------------------------------------------------------------------- > > Key: YARN-1509 > URL: https://issues.apache.org/jira/browse/YARN-1509 > Project: Hadoop YARN > Issue Type: Sub-task > Components: resourcemanager > Reporter: Wangda Tan (No longer used) > Assignee: MENG DING > Attachments: YARN-1509.1.patch, YARN-1509.2.patch, YARN-1509.3.patch, > YARN-1509.4.patch, YARN-1509.5.patch, YARN-1509.6.patch, YARN-1509.7.patch, > YARN-1509.8.patch, YARN-1509.9.patch > > > As described in YARN-1197, we need add API in AMRMClient to support > 1) Add increase request > 2) Can get successfully increased/decreased containers from RM -- This message was sent by Atlassian JIRA (v6.3.4#6332)