Browse Source

YARN-5815. Random failure of TestApplicationPriority.testOrderOfActivatingThePriorityApplicationOnRMRestart (Bibin A Chundatt via Varun Saxena)

Varun Saxena 8 years ago
parent
commit
8602e2cb0f

+ 11 - 12
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationPriority.java

@@ -684,36 +684,35 @@ public class TestApplicationPriority {
         (LeafQueue) ((CapacityScheduler) scheduler).getQueue("default");
         (LeafQueue) ((CapacityScheduler) scheduler).getQueue("default");
 
 
     // wait for all applications to get added to scheduler
     // wait for all applications to get added to scheduler
-    int count = 5;
+    int count = 50;
     while (count-- > 0) {
     while (count-- > 0) {
-      if ((defaultQueue.getNumActiveApplications() + defaultQueue
-          .getNumPendingApplications()) == 3) {
+      if (defaultQueue.getNumPendingApplications() == 3) {
         break;
         break;
       }
       }
-      Thread.sleep(500);
+      Thread.sleep(50);
     }
     }
 
 
     // Before NM registration, AMResourceLimit threshold is 0. So no
     // Before NM registration, AMResourceLimit threshold is 0. So no
     // applications get activated.
     // applications get activated.
     Assert.assertEquals(0, defaultQueue.getNumActiveApplications());
     Assert.assertEquals(0, defaultQueue.getNumActiveApplications());
+    Assert.assertEquals(3, defaultQueue.getNumPendingApplications());
 
 
     // NM resync to new RM
     // NM resync to new RM
     nm1.registerNode();
     nm1.registerNode();
     dispatcher1.await();
     dispatcher1.await();
 
 
-    Assert.assertEquals(2, defaultQueue.getNumActiveApplications());
-    Assert.assertEquals(1, defaultQueue.getNumPendingApplications());
-
-
-    // wait for activating one applications
-    count = 5;
+    // wait for activating applications
+    count = 50;
     while (count-- > 0) {
     while (count-- > 0) {
-      if (defaultQueue.getOrderingPolicy().getSchedulableEntities().size() == 2) {
+      if (defaultQueue.getNumActiveApplications() == 2) {
         break;
         break;
       }
       }
-      Thread.sleep(500);
+      Thread.sleep(50);
     }
     }
 
 
+    Assert.assertEquals(2, defaultQueue.getNumActiveApplications());
+    Assert.assertEquals(1, defaultQueue.getNumPendingApplications());
+
     // verify for order of activated applications iterator
     // verify for order of activated applications iterator
     iterator =
     iterator =
         defaultQueue.getOrderingPolicy().getSchedulableEntities().iterator();
         defaultQueue.getOrderingPolicy().getSchedulableEntities().iterator();