|
@@ -1074,22 +1074,22 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
|
|
|
QueueManager queueManager = scheduler.getQueueManager();
|
|
|
FSLeafQueue leafQueue = queueManager.getLeafQueue("parent.child", true);
|
|
|
- Assert.assertEquals(2, queueManager.getLeafQueues().size());
|
|
|
+ Assert.assertEquals(1, queueManager.getLeafQueues().size());
|
|
|
Assert.assertNotNull(leafQueue);
|
|
|
Assert.assertEquals("root.parent.child", leafQueue.getName());
|
|
|
|
|
|
FSLeafQueue leafQueue2 = queueManager.getLeafQueue("parent", true);
|
|
|
Assert.assertNull(leafQueue2);
|
|
|
- Assert.assertEquals(2, queueManager.getLeafQueues().size());
|
|
|
+ Assert.assertEquals(1, queueManager.getLeafQueues().size());
|
|
|
|
|
|
FSLeafQueue leafQueue3 = queueManager.getLeafQueue("parent.child.grandchild", true);
|
|
|
Assert.assertNull(leafQueue3);
|
|
|
- Assert.assertEquals(2, queueManager.getLeafQueues().size());
|
|
|
+ Assert.assertEquals(1, queueManager.getLeafQueues().size());
|
|
|
|
|
|
FSLeafQueue leafQueue4 = queueManager.getLeafQueue("parent.sister", true);
|
|
|
Assert.assertNotNull(leafQueue4);
|
|
|
Assert.assertEquals("root.parent.sister", leafQueue4.getName());
|
|
|
- Assert.assertEquals(3, queueManager.getLeafQueues().size());
|
|
|
+ Assert.assertEquals(2, queueManager.getLeafQueues().size());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
@@ -1771,8 +1771,8 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
scheduler.start();
|
|
|
scheduler.reinitialize(conf, resourceManager.getRMContext());
|
|
|
|
|
|
- // only default queue
|
|
|
- assertEquals(1, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ // no queue by default
|
|
|
+ assertEquals(0, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
|
|
|
// Submit app with empty queue
|
|
|
// Submit fails before we reach the placement check.
|
|
@@ -1783,7 +1783,7 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
scheduler.handle(appAddedEvent);
|
|
|
|
|
|
// submission rejected
|
|
|
- assertEquals(1, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ assertEquals(0, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
assertNull(scheduler.getSchedulerApp(appAttemptId));
|
|
|
assertEquals(0, resourceManager.getRMContext().getRMApps().size());
|
|
|
}
|
|
@@ -1794,8 +1794,8 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
scheduler.start();
|
|
|
scheduler.reinitialize(conf, resourceManager.getRMContext());
|
|
|
|
|
|
- // only default queue
|
|
|
- assertEquals(1, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ // no queue by default
|
|
|
+ assertEquals(0, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
|
|
|
// Submit app with queue name (.A)
|
|
|
// Submit fails before we reach the placement check.
|
|
@@ -1805,7 +1805,7 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
"user1");
|
|
|
scheduler.handle(appAddedEvent1);
|
|
|
// submission rejected
|
|
|
- assertEquals(1, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ assertEquals(0, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
assertNull(scheduler.getSchedulerApp(appAttemptId1));
|
|
|
assertEquals(0, resourceManager.getRMContext().getRMApps().size());
|
|
|
|
|
@@ -1817,7 +1817,7 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
"user1");
|
|
|
scheduler.handle(appAddedEvent2);
|
|
|
// submission rejected
|
|
|
- assertEquals(1, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ assertEquals(0, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
assertNull(scheduler.getSchedulerApp(appAttemptId2));
|
|
|
assertEquals(0, resourceManager.getRMContext().getRMApps().size());
|
|
|
|
|
@@ -1829,7 +1829,7 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
"user1", new ApplicationPlacementContext("A.B"));
|
|
|
scheduler.handle(appAddedEvent3);
|
|
|
// submission accepted
|
|
|
- assertEquals(2, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ assertEquals(1, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
assertNull(scheduler.getSchedulerApp(appAttemptId3));
|
|
|
assertEquals(0, resourceManager.getRMContext().getRMApps().size());
|
|
|
}
|
|
@@ -1863,7 +1863,7 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
scheduler.update();
|
|
|
|
|
|
Collection<FSLeafQueue> queues = scheduler.getQueueManager().getLeafQueues();
|
|
|
- assertEquals(3, queues.size());
|
|
|
+ assertEquals(2, queues.size());
|
|
|
|
|
|
for (FSLeafQueue p : queues) {
|
|
|
if (p.getName().equals("root.queueA")) {
|
|
@@ -1944,6 +1944,8 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
.fairDefaultQueueSchedulingPolicy()
|
|
|
.addQueue(new AllocationFileQueue.Builder("root")
|
|
|
.schedulingPolicy("drf")
|
|
|
+ .subQueue(new AllocationFileQueue.Builder("default")
|
|
|
+ .weight(1).build())
|
|
|
.subQueue(new AllocationFileQueue.Builder("child1")
|
|
|
.weight(1).build())
|
|
|
.subQueue(new AllocationFileQueue.Builder("child2")
|
|
@@ -1981,6 +1983,8 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
.fairDefaultQueueSchedulingPolicy()
|
|
|
.addQueue(new AllocationFileQueue.Builder("root")
|
|
|
.schedulingPolicy("drf")
|
|
|
+ .subQueue(new AllocationFileQueue.Builder("default")
|
|
|
+ .weight(1).build())
|
|
|
.subQueue(new AllocationFileQueue.Builder("child1")
|
|
|
.weight(1).build())
|
|
|
.subQueue(new AllocationFileQueue.Builder("child2")
|
|
@@ -2015,6 +2019,17 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
conf.setClass(CommonConfigurationKeys.HADOOP_SECURITY_GROUP_MAPPING,
|
|
|
SimpleGroupsMapping.class, GroupMappingServiceProvider.class);
|
|
|
conf.set(FairSchedulerConfiguration.USER_AS_DEFAULT_QUEUE, "true");
|
|
|
+ conf.set(FairSchedulerConfiguration.ALLOCATION_FILE, ALLOC_FILE);
|
|
|
+
|
|
|
+ AllocationFileWriter.create()
|
|
|
+ .fairDefaultQueueSchedulingPolicy()
|
|
|
+ .addQueue(new AllocationFileQueue.Builder("root")
|
|
|
+ .schedulingPolicy("drf")
|
|
|
+ .subQueue(new AllocationFileQueue.Builder("default")
|
|
|
+ .weight(1).build())
|
|
|
+ .build())
|
|
|
+ .writeToFile(ALLOC_FILE);
|
|
|
+
|
|
|
scheduler.init(conf);
|
|
|
scheduler.start();
|
|
|
scheduler.reinitialize(conf, resourceManager.getRMContext());
|
|
@@ -2129,13 +2144,12 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
|
|
|
QueueManager queueManager = scheduler.getQueueManager();
|
|
|
Collection<FSLeafQueue> leafQueues = queueManager.getLeafQueues();
|
|
|
- Assert.assertEquals(4, leafQueues.size());
|
|
|
+ Assert.assertEquals(3, leafQueues.size());
|
|
|
Assert.assertNotNull(queueManager.getLeafQueue("queueA", false));
|
|
|
Assert.assertNotNull(queueManager.getLeafQueue("queueB.queueC", false));
|
|
|
Assert.assertNotNull(queueManager.getLeafQueue("queueB.queueD", false));
|
|
|
- Assert.assertNotNull(queueManager.getLeafQueue("default", false));
|
|
|
// Make sure querying for queues didn't create any new ones:
|
|
|
- Assert.assertEquals(4, leafQueues.size());
|
|
|
+ Assert.assertEquals(3, leafQueues.size());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
@@ -4736,8 +4750,8 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
scheduler.start();
|
|
|
scheduler.reinitialize(conf, resourceManager.getRMContext());
|
|
|
|
|
|
- // only default queue
|
|
|
- assertEquals(1, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ // no queue by default
|
|
|
+ assertEquals(0, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
|
|
|
// submit app with queue name "A"
|
|
|
ApplicationAttemptId appAttemptId1 = createAppAttemptId(1, 1);
|
|
@@ -4747,7 +4761,7 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
appAttemptId1.getApplicationId(), "A", "user1", apc);
|
|
|
scheduler.handle(appAddedEvent1);
|
|
|
// submission accepted
|
|
|
- assertEquals(2, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ assertEquals(1, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
assertNotNull(scheduler.getSchedulerApplications().get(appAttemptId1.
|
|
|
getApplicationId()));
|
|
|
|
|
@@ -4771,7 +4785,7 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
// expected ignore: rules should have filtered this out
|
|
|
}
|
|
|
// submission rejected
|
|
|
- assertEquals(2, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ assertEquals(1, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
assertNull(scheduler.getSchedulerApplications().get(appAttemptId2.
|
|
|
getApplicationId()));
|
|
|
assertNull(scheduler.getSchedulerApp(appAttemptId2));
|
|
@@ -4783,7 +4797,7 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
appAttemptId3.getApplicationId(), "B.C", "user1", apc);
|
|
|
scheduler.handle(appAddedEvent3);
|
|
|
// submission accepted
|
|
|
- assertEquals(3, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ assertEquals(2, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
assertNotNull(scheduler.getSchedulerApplications().get(appAttemptId3.
|
|
|
getApplicationId()));
|
|
|
|
|
@@ -4806,7 +4820,7 @@ public class TestFairScheduler extends FairSchedulerTestBase {
|
|
|
// expected ignore: rules should have filtered this out
|
|
|
}
|
|
|
// submission rejected
|
|
|
- assertEquals(3, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
+ assertEquals(2, scheduler.getQueueManager().getLeafQueues().size());
|
|
|
assertNull(scheduler.getSchedulerApplications().get(appAttemptId4.
|
|
|
getApplicationId()));
|
|
|
assertNull(scheduler.getSchedulerApp(appAttemptId4));
|