You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by sn...@apache.org on 2021/02/05 16:48:13 UTC
[hadoop] branch trunk updated: YARN-10615. Fix Auto Queue Creation
hierarchy construction to use queue path instead of short queue name.
Contributed by Andras Gyori
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 5aa9866 YARN-10615. Fix Auto Queue Creation hierarchy construction to use queue path instead of short queue name. Contributed by Andras Gyori
5aa9866 is described below
commit 5aa9866ec2bd33032dd1561bb19ed24d1725b721
Author: Szilard Nemeth <sn...@apache.org>
AuthorDate: Fri Feb 5 17:43:01 2021 +0100
YARN-10615. Fix Auto Queue Creation hierarchy construction to use queue path instead of short queue name. Contributed by Andras Gyori
---
.../capacity/CapacitySchedulerAutoQueueHandler.java | 6 ++++--
.../TestCapacitySchedulerNewQueueAutoCreation.java | 19 +++++++++++++++++++
2 files changed, 23 insertions(+), 2 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/CapacitySchedulerAutoQueueHandler.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/CapacitySchedulerAutoQueueHandler.java
index 55ab1ff..e847737 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/CapacitySchedulerAutoQueueHandler.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/CapacitySchedulerAutoQueueHandler.java
@@ -55,13 +55,15 @@ public class CapacitySchedulerAutoQueueHandler {
List<ApplicationPlacementContext> parentsToCreate = new ArrayList<>();
ApplicationPlacementContext queueCandidateContext = parentContext;
- CSQueue existingQueueCandidate = getQueue(queueCandidateContext.getQueue());
+ CSQueue existingQueueCandidate = getQueue(
+ queueCandidateContext.getFullQueuePath());
while (existingQueueCandidate == null) {
parentsToCreate.add(queueCandidateContext);
queueCandidateContext = CSQueueUtils.extractQueuePath(
queueCandidateContext.getParentQueue());
- existingQueueCandidate = getQueue(queueCandidateContext.getQueue());
+ existingQueueCandidate = getQueue(
+ queueCandidateContext.getFullQueuePath());
}
// Reverse the collection to to represent the hierarchy to be created
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 48dba82..d48bdc1 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
@@ -525,6 +525,25 @@ public class TestCapacitySchedulerNewQueueAutoCreation
user0LeafQueue.getMinimumAllocation()).getMemorySize(), 1e-6);
}
+ @Test
+ public void testAutoCreateQueueIfAmbiguousQueueNames() throws Exception {
+ startScheduler();
+
+ AbstractCSQueue b = (AbstractCSQueue) cs.getQueue("root.b");
+ Assert.assertFalse(b.isDynamicQueue());
+
+ createQueue("root.a.b.b");
+
+ AbstractCSQueue bAutoParent = (AbstractCSQueue) cs.getQueue("root.a.b");
+ Assert.assertTrue(bAutoParent.isDynamicQueue());
+ Assert.assertTrue(bAutoParent.hasChildQueues());
+
+ AbstractCSQueue bAutoLeafQueue =
+ (AbstractCSQueue) cs.getQueue("root.a.b.b");
+ Assert.assertTrue(bAutoLeafQueue.isDynamicQueue());
+ Assert.assertFalse(bAutoLeafQueue.hasChildQueues());
+ }
+
private LeafQueue createQueue(String queuePath) throws YarnException {
return autoQueueHandler.autoCreateQueue(
CSQueueUtils.extractQueuePath(queuePath));
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org