YARN-6481. Yarn top shows negative container number in FS (Contributed by Tao Jie via Daniel Templeton)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/47c8b97d Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/47c8b97d Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/47c8b97d Branch: refs/heads/HDFS-10467 Commit: 47c8b97dd832876b4853b862f16ab3cb2cee117f Parents: c5c45d8 Author: Daniel Templeton <[email protected]> Authored: Tue May 2 13:04:40 2017 -0700 Committer: Inigo <[email protected]> Committed: Tue May 2 14:52:07 2017 -0700 ---------------------------------------------------------------------- .../resourcemanager/scheduler/fair/FSQueue.java | 3 +++ .../scheduler/fair/TestFairScheduler.java | 15 +++++++++++++++ 2 files changed, 18 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/47c8b97d/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 ---------------------------------------------------------------------- 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 abstract class FSQueue implements Queue, Schedulable { 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; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/47c8b97d/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 ---------------------------------------------------------------------- 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 class TestFairScheduler extends FairSchedulerTestBase { 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 class TestFairScheduler extends FairSchedulerTestBase { 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
