Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java (date 1491242834000) +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java (date 1491340578000) @@ -421,7 +421,6 @@ // Check memory usage and kill any overflowing containers long vmemUsageByAllContainers = 0; long pmemByAllContainers = 0; - long cpuUsagePercentPerCoreByAllContainers = 0; long cpuUsageTotalCoresByAllContainers = 0; for (Entry entry : trackingContainers .entrySet()) { @@ -468,7 +467,6 @@ vmemUsageByAllContainers += currentVmemUsage; pmemByAllContainers += currentPmemUsage; // Accounting the total cpu usage for all containers - cpuUsagePercentPerCoreByAllContainers += cpuUsagePercentPerCore; cpuUsageTotalCoresByAllContainers += cpuUsagePercentPerCore; reportResourceUsage(containerId, currentPmemUsage, @@ -483,9 +481,7 @@ LOG.debug("Total Resource Usage stats in NM by all containers : " + "Virtual Memory= " + vmemUsageByAllContainers + ", Physical Memory= " + pmemByAllContainers - + ", Total CPU usage= " + cpuUsageTotalCoresByAllContainers - + ", Total CPU(% per core) usage" - + cpuUsagePercentPerCoreByAllContainers); + + ", Total CPU usage= " + cpuUsageTotalCoresByAllContainers); } // Save the aggregated utilization of the containers @@ -867,16 +863,6 @@ @SuppressWarnings("unchecked") public void handle(ContainersMonitorEvent monitoringEvent) { ContainerId containerId = monitoringEvent.getContainerId(); - if (!containersMonitorEnabled) { - if (monitoringEvent.getType() == ContainersMonitorEventType - .CHANGE_MONITORING_CONTAINER_RESOURCE) { - // Nothing to enforce. Update container resource immediately. - ChangeMonitoringContainerResourceEvent changeEvent = - (ChangeMonitoringContainerResourceEvent) monitoringEvent; - changeContainerResource(containerId, changeEvent.getResource()); - } - return; - } switch (monitoringEvent.getType()) { case START_MONITORING_CONTAINER: @@ -897,19 +883,21 @@ ContainersMonitorEvent monitoringEvent, ContainerId containerId) { ChangeMonitoringContainerResourceEvent changeEvent = (ChangeMonitoringContainerResourceEvent) monitoringEvent; - ProcessTreeInfo processTreeInfo = trackingContainers.get(containerId); - if (processTreeInfo == null) { - LOG.warn("Failed to track container " - + containerId.toString() - + ". It may have already completed."); - return; - } - LOG.info("Changing resource-monitoring for " + containerId); - updateContainerMetrics(monitoringEvent); - long pmemLimit = changeEvent.getResource().getMemorySize() * 1024L * 1024L; - long vmemLimit = (long) (pmemLimit * vmemRatio); - int cpuVcores = changeEvent.getResource().getVirtualCores(); - processTreeInfo.setResourceLimit(pmemLimit, vmemLimit, cpuVcores); + if (containersMonitorEnabled) { + ProcessTreeInfo processTreeInfo = trackingContainers.get(containerId); + if (processTreeInfo == null) { + LOG.warn("Failed to track container " + + containerId.toString() + + ". It may have already completed."); + return; + } + LOG.info("Changing resource-monitoring for " + containerId); + updateContainerMetrics(monitoringEvent); + long pmemLimit = changeEvent.getResource().getMemorySize() * 1024L * 1024L; + long vmemLimit = (long) (pmemLimit * vmemRatio); + int cpuVcores = changeEvent.getResource().getVirtualCores(); + processTreeInfo.setResourceLimit(pmemLimit, vmemLimit, cpuVcores); + } changeContainerResource(containerId, changeEvent.getResource()); }