YARN-10108. FS-CS converter: nestedUserQueue with default rule results in invalid queue mapping. Contributed by Gergely Pollak
This commit is contained in:
parent
fb030f3239
commit
593af878c0
@ -992,12 +992,14 @@ private void addApplication(ApplicationId applicationId, String queueName,
|
||||
// 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())
|
||||
&& !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()
|
||||
|
@ -162,6 +162,35 @@ public void testAutoCreateLeafQueueCreation() throws Exception {
|
||||
}
|
||||
}
|
||||
|
||||
@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 {
|
||||
|
Loading…
Reference in New Issue
Block a user