From 29d5dd4b7c5efa93901e2f398af0a36d233e476b Mon Sep 17 00:00:00 2001 From: Tamas Domok Date: Wed, 10 Jan 2024 15:52:17 +0100 Subject: [PATCH 1/2] YARN-11646. Do not ignore zero memory capacity config in QueueCapacityConfigParser. Change-Id: Id00a5382d982dcf33ec8a3769fc33419b660968b --- .../capacity/conf/QueueCapacityConfigParser.java | 5 ----- .../conf/TestQueueCapacityConfigParser.java | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 6 deletions(-) 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/capacity/conf/QueueCapacityConfigParser.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/QueueCapacityConfigParser.java index 79786a11b3cb3..644938e33e775 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/QueueCapacityConfigParser.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/QueueCapacityConfigParser.java @@ -148,11 +148,6 @@ private QueueCapacityVector heterogeneousParser(Matcher matcher) { } } - // Memory always have to be defined - if (capacityVector.getMemory() == 0L) { - return new QueueCapacityVector(); - } - return capacityVector; } 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/capacity/conf/TestQueueCapacityConfigParser.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestQueueCapacityConfigParser.java index 4e8f31e1a8515..25dda196a4d99 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestQueueCapacityConfigParser.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestQueueCapacityConfigParser.java @@ -214,4 +214,18 @@ public void testInvalidCapacityConfigs() { Lists.newArrayList(nonSetCapacity.iterator()); Assert.assertEquals(nonSetResources.size(), 0); } -} \ No newline at end of file + + @Test + public void testZeroAbsoluteCapacityConfig() { + QueueCapacityVector weightCapacityVector = capacityConfigParser.parse(String.format(MEMORY_VCORE_TEMPLATE, 0, 0), QUEUE); + + QueueCapacityVectorEntry memory = weightCapacityVector.getResource(MEMORY_URI); + QueueCapacityVectorEntry vcore = weightCapacityVector.getResource(VCORES_URI); + + Assert.assertEquals(ResourceUnitCapacityType.ABSOLUTE, memory.getVectorResourceType()); + Assert.assertEquals(0, memory.getResourceValue(), EPSILON); + + Assert.assertEquals(ResourceUnitCapacityType.ABSOLUTE, vcore.getVectorResourceType()); + Assert.assertEquals(0, vcore.getResourceValue(), EPSILON); + } +} From 60444baa9559c354a9ba67696488b33ea9915143 Mon Sep 17 00:00:00 2001 From: Tamas Domok Date: Thu, 11 Jan 2024 08:45:57 +0100 Subject: [PATCH 2/2] fix checkstyle Change-Id: I4dd06e96cc6bb2ac63f9ef3062bba3e8d0f8509e --- .../scheduler/capacity/conf/TestQueueCapacityConfigParser.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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/capacity/conf/TestQueueCapacityConfigParser.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestQueueCapacityConfigParser.java index 25dda196a4d99..47701484f6a8f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestQueueCapacityConfigParser.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/conf/TestQueueCapacityConfigParser.java @@ -217,7 +217,8 @@ public void testInvalidCapacityConfigs() { @Test public void testZeroAbsoluteCapacityConfig() { - QueueCapacityVector weightCapacityVector = capacityConfigParser.parse(String.format(MEMORY_VCORE_TEMPLATE, 0, 0), QUEUE); + QueueCapacityVector weightCapacityVector = + capacityConfigParser.parse(String.format(MEMORY_VCORE_TEMPLATE, 0, 0), QUEUE); QueueCapacityVectorEntry memory = weightCapacityVector.getResource(MEMORY_URI); QueueCapacityVectorEntry vcore = weightCapacityVector.getResource(VCORES_URI);