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 2020/05/22 12:49:12 UTC
[hadoop] branch branch-3.3 updated: FS-CS converter:
nestedUserQueue with default rule results in invalid queue mapping.
Contributed by Gergely Pollak
This is an automated email from the ASF dual-hosted git repository.
snemeth pushed a commit to branch branch-3.3
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.3 by this push:
new 9ce913a FS-CS converter: nestedUserQueue with default rule results in invalid queue mapping. Contributed by Gergely Pollak
9ce913a is described below
commit 9ce913a7bf720944d0305960bbf1899461b8628b
Author: Szilard Nemeth <sn...@apache.org>
AuthorDate: Thu May 21 13:11:44 2020 +0200
FS-CS converter: nestedUserQueue with default rule results in invalid queue mapping. Contributed by Gergely Pollak
(cherry picked from commit ac4540dd8e2872b113a61107b0a4a66beeec8649)
---
.../scheduler/capacity/CapacityScheduler.java | 6 +++--
.../TestCapacitySchedulerAutoQueueCreation.java | 29 ++++++++++++++++++++++
2 files changed, 33 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/CapacityScheduler.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/CapacityScheduler.java
index cca4fe1..eb0bb9a 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/CapacityScheduler.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/CapacityScheduler.java
@@ -989,12 +989,14 @@ public class CapacityScheduler extends
// not auto-created above, then its parent queue should match
// the parent queue specified in queue mapping
} else if (!queue.getParent().getQueueShortName().equals(
- placementContext.getParentQueue())) {
+ placementContext.getParentQueue())
+ && !queue.getParent().getQueuePath().equals(
+ placementContext.getParentQueue())) {
String message =
"Auto created Leaf queue " + placementContext.getQueue() + " "
+ "already exists under queue : " + queue
.getParent().getQueueShortName()
- + ".But Queue mapping configuration " +
+ + ". But Queue mapping configuration " +
CapacitySchedulerConfiguration.QUEUE_MAPPING + " has been "
+ "updated to a different parent queue : "
+ placementContext.getParentQueue()
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/TestCapacitySchedulerAutoQueueCreation.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/TestCapacitySchedulerAutoQueueCreation.java
index a98abb9..a2267ec 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/TestCapacitySchedulerAutoQueueCreation.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/TestCapacitySchedulerAutoQueueCreation.java
@@ -162,6 +162,35 @@ public class TestCapacitySchedulerAutoQueueCreation
}
}
+ @Test(timeout = 20000)
+ public void testAutoCreateLeafQueueCreationUsingFullParentPath()
+ throws Exception {
+
+ try {
+ setupGroupQueueMappings("root.d", cs.getConfiguration(), "%user");
+ cs.reinitialize(cs.getConfiguration(), mockRM.getRMContext());
+
+ submitApp(mockRM, cs.getQueue("d"), TEST_GROUPUSER, TEST_GROUPUSER, 1, 1);
+ AutoCreatedLeafQueue autoCreatedLeafQueue =
+ (AutoCreatedLeafQueue) cs.getQueue(TEST_GROUPUSER);
+ ManagedParentQueue parentQueue = (ManagedParentQueue) cs.getQueue("d");
+ assertEquals(parentQueue, autoCreatedLeafQueue.getParent());
+
+ Map<String, Float> expectedChildQueueAbsCapacity =
+ new HashMap<String, Float>() {{
+ put(NO_LABEL, 0.02f);
+ }};
+
+ validateInitialQueueEntitlement(parentQueue, TEST_GROUPUSER,
+ expectedChildQueueAbsCapacity,
+ new HashSet<String>() {{ add(NO_LABEL); }});
+
+ } finally {
+ cleanupQueue(USER0);
+ cleanupQueue(TEST_GROUPUSER);
+ }
+ }
+
@Test
public void testReinitializeStoppedAutoCreatedLeafQueue() throws Exception {
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org