This is an automated email from the ASF dual-hosted git repository. snemeth pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push: new 7284d23 YARN-11006. Allow overriding user limit factor and maxAMResourcePercent with AQCv2 templates. Contributed by Benjamin Teke 7284d23 is described below commit 7284d234765547072ba00477128d811aa302fc3f Author: Szilard Nemeth <snem...@apache.org> AuthorDate: Tue Dec 7 15:43:55 2021 +0100 YARN-11006. Allow overriding user limit factor and maxAMResourcePercent with AQCv2 templates. Contributed by Benjamin Teke --- .../resourcemanager/scheduler/capacity/LeafQueue.java | 2 +- .../TestCapacitySchedulerNewQueueAutoCreation.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) 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/LeafQueue.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/LeafQueue.java index c7f42d1..4592f2a 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/LeafQueue.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/LeafQueue.java @@ -1707,12 +1707,12 @@ public class LeafQueue extends AbstractCSQueue { @Override protected void setDynamicQueueProperties( CapacitySchedulerConfiguration configuration) { - super.setDynamicQueueProperties(configuration); // set to -1, to disable it configuration.setUserLimitFactor(getQueuePath(), -1); // Set Max AM percentage to a higher value configuration.setMaximumApplicationMasterResourcePerQueuePercent( getQueuePath(), 1f); + super.setDynamicQueueProperties(configuration); } private void updateSchedulerHealthForCompletedContainer( 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/TestCapacitySchedulerNewQueueAutoCreation.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/TestCapacitySchedulerNewQueueAutoCreation.java index 9b23fdd..3d40ccf 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/TestCapacitySchedulerNewQueueAutoCreation.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/TestCapacitySchedulerNewQueueAutoCreation.java @@ -688,11 +688,27 @@ public class TestCapacitySchedulerNewQueueAutoCreation LeafQueue a2 = createQueue("root.a.a-auto.a2"); Assert.assertEquals("weight is not set by template", 6f, a2.getQueueCapacities().getWeight(), 1e-6); + Assert.assertEquals("user limit factor should be disabled with dynamic queues", + -1f, a2.getUserLimitFactor(), 1e-6); + Assert.assertEquals("maximum AM resource percent should be 1 with dynamic queues", + 1f, a2.getMaxAMResourcePerQueuePercent(), 1e-6); + + // Set the user-limit-factor and maximum-am-resource-percent via templates to ensure their + // modified defaults are indeed overridden + csConf.set(AutoCreatedQueueTemplate.getAutoQueueTemplatePrefix( + "root.a.*") + "user-limit-factor", "10"); + csConf.set(AutoCreatedQueueTemplate.getAutoQueueTemplatePrefix( + "root.a.*") + "maximum-am-resource-percent", "0.8"); cs.reinitialize(csConf, mockRM.getRMContext()); a2 = (LeafQueue) cs.getQueue("root.a.a-auto.a2"); Assert.assertEquals("weight is overridden", 6f, a2.getQueueCapacities().getWeight(), 1e-6); + Assert.assertEquals("user limit factor should be modified by templates", + 10f, a2.getUserLimitFactor(), 1e-6); + Assert.assertEquals("maximum AM resource percent should be modified by templates", + 0.8f, a2.getMaxAMResourcePerQueuePercent(), 1e-6); + csConf.setNonLabeledQueueWeight("root.a.a-auto.a2", 4f); cs.reinitialize(csConf, mockRM.getRMContext()); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org