You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@twill.apache.org by ch...@apache.org on 2015/02/11 10:14:38 UTC

incubator-twill git commit: Make PlacementPolicy test more resilient to slow machine

Repository: incubator-twill
Updated Branches:
  refs/heads/master 5c82532f3 -> 281ab28a1


Make PlacementPolicy test more resilient to slow machine

Project: http://git-wip-us.apache.org/repos/asf/incubator-twill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-twill/commit/281ab28a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-twill/tree/281ab28a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-twill/diff/281ab28a

Branch: refs/heads/master
Commit: 281ab28a121ec1f259c267b1b7aa6333b593c7eb
Parents: 5c82532
Author: Terence Yim <ch...@apache.org>
Authored: Wed Feb 11 01:14:30 2015 -0800
Committer: Terence Yim <ch...@apache.org>
Committed: Wed Feb 11 01:14:30 2015 -0800

----------------------------------------------------------------------
 .../twill/yarn/PlacementPolicyTestRun.java      | 22 +++++++++++++-------
 1 file changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/281ab28a/twill-yarn/src/test/java/org/apache/twill/yarn/PlacementPolicyTestRun.java
----------------------------------------------------------------------
diff --git a/twill-yarn/src/test/java/org/apache/twill/yarn/PlacementPolicyTestRun.java b/twill-yarn/src/test/java/org/apache/twill/yarn/PlacementPolicyTestRun.java
index a886491..7d9c122 100644
--- a/twill-yarn/src/test/java/org/apache/twill/yarn/PlacementPolicyTestRun.java
+++ b/twill-yarn/src/test/java/org/apache/twill/yarn/PlacementPolicyTestRun.java
@@ -58,7 +58,7 @@ public class PlacementPolicyTestRun extends BaseYarnTest {
    * Verify the cluster configuration (number and capability of node managers) required for the tests.
    */
   @BeforeClass
-  public static void verifyClusterCapability() {
+  public static void verifyClusterCapability() throws InterruptedException {
     // Ignore verifications if it is running against older Hadoop versions which does not support blacklists.
     Assume.assumeTrue(YarnUtils.getHadoopVersion().equals(YarnUtils.HadoopVersions.HADOOP_22));
 
@@ -73,14 +73,20 @@ public class PlacementPolicyTestRun extends BaseYarnTest {
       .setInstances(2)
       .build();
 
-    try {
-      nodeReports = YarnTestUtils.getNodeReports();
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
     // The tests need exactly three NodeManagers in the cluster.
-    Assert.assertNotNull(nodeReports);
-    Assert.assertEquals(nodeReports.size(), 3);
+    int trials = 0;
+    while (trials++ < 20) {
+      try {
+        nodeReports = YarnTestUtils.getNodeReports();
+        if (nodeReports != null && nodeReports.size() == 3) {
+          break;
+        }
+      } catch (Exception e) {
+        LOG.error("Failed to get node reports", e);
+      }
+      LOG.warn("NodeManagers != 3. {}", nodeReports);
+      TimeUnit.SECONDS.sleep(1);
+    }
 
     // All NodeManagers should have enough capacity available to accommodate at least two runnables.
     for (NodeReport nodeReport : nodeReports) {