diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSQueue.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSQueue.java index acf4d5c..e131140 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSQueue.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSQueue.java @@ -253,6 +253,9 @@ public QueueStatistics getQueueStatistics() { stats.setAllocatedVCores(getMetrics().getAllocatedVirtualCores()); stats.setPendingVCores(getMetrics().getPendingVirtualCores()); stats.setReservedVCores(getMetrics().getReservedVirtualCores()); + stats.setAllocatedContainers(getMetrics().getAllocatedContainers()); + stats.setPendingContainers(getMetrics().getPendingContainers()); + stats.setReservedContainers(getMetrics().getReservedContainers()); return stats; } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java index 9bf79f6..2233287 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java @@ -874,6 +874,11 @@ public void testQueueInfo() throws IOException { QueueInfo queueInfo = scheduler.getQueueInfo("queueA", false, false); Assert.assertEquals(0.25f, queueInfo.getCapacity(), 0.0f); Assert.assertEquals(0.0f, queueInfo.getCurrentCapacity(), 0.0f); + // test queueMetrics + Assert.assertEquals(0, queueInfo.getQueueStatistics() + .getAllocatedContainers()); + Assert.assertEquals(0, queueInfo.getQueueStatistics() + .getAllocatedMemoryMB()); queueInfo = scheduler.getQueueInfo("queueB", false, false); Assert.assertEquals(0.75f, queueInfo.getCapacity(), 0.0f); Assert.assertEquals(0.0f, queueInfo.getCurrentCapacity(), 0.0f); @@ -889,9 +894,19 @@ public void testQueueInfo() throws IOException { queueInfo = scheduler.getQueueInfo("queueA", false, false); Assert.assertEquals(0.25f, queueInfo.getCapacity(), 0.0f); Assert.assertEquals(0.5f, queueInfo.getCurrentCapacity(), 0.0f); + // test queueMetrics + Assert.assertEquals(1, queueInfo.getQueueStatistics() + .getAllocatedContainers()); + Assert.assertEquals(1024, queueInfo.getQueueStatistics() + .getAllocatedMemoryMB()); queueInfo = scheduler.getQueueInfo("queueB", false, false); Assert.assertEquals(0.75f, queueInfo.getCapacity(), 0.0f); Assert.assertEquals(1.0f, queueInfo.getCurrentCapacity(), 0.0f); + // test queueMetrics + Assert.assertEquals(1, queueInfo.getQueueStatistics() + .getAllocatedContainers()); + Assert.assertEquals(6144, queueInfo.getQueueStatistics() + .getAllocatedMemoryMB()); } @Test