From bcfd22833633e24881891208503971c8ef59d63c Mon Sep 17 00:00:00 2001 From: Giovanni Matteo Fumarola Date: Thu, 13 Jun 2019 11:08:35 -0700 Subject: [PATCH] YARN-9599. TestContainerSchedulerQueuing#testQueueShedding fails intermittently. Contributed by Abhishek Modi. --- .../scheduler/TestContainerSchedulerQueuing.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/scheduler/TestContainerSchedulerQueuing.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/scheduler/TestContainerSchedulerQueuing.java index 3e7a735a41..05360aba2d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/scheduler/TestContainerSchedulerQueuing.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/scheduler/TestContainerSchedulerQueuing.java @@ -766,11 +766,9 @@ public class TestContainerSchedulerQueuing extends BaseContainerManagerTest { ContainerScheduler containerScheduler = containerManager.getContainerScheduler(); // Ensure all containers are properly queued. - int numTries = 30; - while ((containerScheduler.getNumQueuedContainers() < 6) && - (numTries-- > 0)) { - Thread.sleep(100); - } + GenericTestUtils.waitFor( + () -> containerScheduler.getNumQueuedContainers() == 6 + && metrics.getQueuedOpportunisticContainers() == 6, 100, 3000); Assert.assertEquals(6, containerScheduler.getNumQueuedContainers()); Assert.assertEquals(6, metrics.getQueuedOpportunisticContainers()); Assert.assertEquals(0, metrics.getQueuedGuaranteedContainers()); @@ -779,11 +777,8 @@ public class TestContainerSchedulerQueuing extends BaseContainerManagerTest { .newInstance(); containerQueuingLimit.setMaxQueueLength(2); containerScheduler.updateQueuingLimit(containerQueuingLimit); - numTries = 30; - while ((containerScheduler.getNumQueuedContainers() > 2) && - (numTries-- > 0)) { - Thread.sleep(100); - } + GenericTestUtils.waitFor( + () -> containerScheduler.getNumQueuedContainers() == 2, 100, 3000); Assert.assertEquals(2, containerScheduler.getNumQueuedContainers()); List statList = new ArrayList();