This is an automated email from the ASF dual-hosted git repository.

elek pushed a commit to branch HDDS-2214
in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git

commit a80d34bbf7a109283c338ea30743e3c101cfb209
Author: Márton Elek <e...@apache.org>
AuthorDate: Tue Oct 1 11:34:36 2019 +0200

    HDDS-2214. TestSCMContainerPlacementRackAware has an intermittent failure.
---
 .../TestSCMContainerPlacementRackAware.java        | 67 ++++++++++++----------
 1 file changed, 36 insertions(+), 31 deletions(-)

diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/placement/algorithms/TestSCMContainerPlacementRackAware.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/placement/algorithms/TestSCMContainerPlacementRackAware.java
index 2d8b816..63fe152 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/placement/algorithms/TestSCMContainerPlacementRackAware.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/placement/algorithms/TestSCMContainerPlacementRackAware.java
@@ -16,7 +16,11 @@
  */
 package org.apache.hadoop.hdds.scm.container.placement.algorithms;
 
-import org.apache.commons.lang.StringUtils;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import org.apache.hadoop.hdds.protocol.DatanodeDetails;
@@ -30,25 +34,24 @@ import org.apache.hadoop.hdds.scm.net.NetworkTopologyImpl;
 import org.apache.hadoop.hdds.scm.net.NodeSchema;
 import org.apache.hadoop.hdds.scm.net.NodeSchemaManager;
 import org.apache.hadoop.hdds.scm.node.NodeManager;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.mockito.Mockito;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
 
+import org.apache.commons.lang.StringUtils;
 import static org.apache.hadoop.hdds.scm.net.NetConstants.LEAF_SCHEMA;
 import static org.apache.hadoop.hdds.scm.net.NetConstants.RACK_SCHEMA;
 import static org.apache.hadoop.hdds.scm.net.NetConstants.ROOT_SCHEMA;
+import org.hamcrest.MatcherAssert;
+import static org.hamcrest.Matchers.greaterThanOrEqualTo;
+import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.junit.Assume.assumeTrue;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 import static org.mockito.Matchers.anyObject;
+import org.mockito.Mockito;
 import static org.mockito.Mockito.when;
 
 /**
@@ -76,7 +79,7 @@ public class TestSCMContainerPlacementRackAware {
 
   @Parameterized.Parameters
   public static Collection<Object[]> setupDatanodes() {
-    return Arrays.asList(new Object[][]{{3}, {4}, {5}, {6}, {7}, {8}, {9},
+    return Arrays.asList(new Object[][] {{3}, {4}, {5}, {6}, {7}, {8}, {9},
         {10}, {11}, {12}, {13}, {14}, {15}});
   }
 
@@ -131,7 +134,6 @@ public class TestSCMContainerPlacementRackAware {
         nodeManager, conf, cluster, false, metrics);
   }
 
-
   @Test
   public void chooseNodeWithNoExcludedNodes() throws SCMException {
     // test choose new datanodes for new pipeline cases
@@ -226,7 +228,7 @@ public class TestSCMContainerPlacementRackAware {
     assumeTrue(datanodeCount > NODE_PER_RACK * 2 &&
         (datanodeCount % NODE_PER_RACK > 1));
     int nodeNum = 5;
-    List<DatanodeDetails>  datanodeDetails =
+    List<DatanodeDetails> datanodeDetails =
         policy.chooseDatanodes(null, null, nodeNum, 15);
     Assert.assertEquals(nodeNum, datanodeDetails.size());
     Assert.assertTrue(cluster.isSameParent(datanodeDetails.get(0),
@@ -247,8 +249,8 @@ public class TestSCMContainerPlacementRackAware {
     long compromiseCount = metrics.getDatanodeChooseFallbackCount();
 
     // verify metrics
-    Assert.assertTrue(totalRequest == nodeNum);
-    Assert.assertTrue(successCount == nodeNum);
+    Assert.assertEquals(totalRequest, nodeNum);
+    Assert.assertEquals(successCount, nodeNum);
     Assert.assertTrue(tryCount > nodeNum);
     Assert.assertTrue(compromiseCount >= 1);
   }
@@ -263,7 +265,7 @@ public class TestSCMContainerPlacementRackAware {
       policyNoFallback.chooseDatanodes(null, null, nodeNum, 15);
       fail("Fallback prohibited, this call should fail");
     } catch (Exception e) {
-      assertTrue(e.getClass().getSimpleName().equals("SCMException"));
+      assertEquals("SCMException", e.getClass().getSimpleName());
     }
 
     // get metrics
@@ -272,10 +274,12 @@ public class TestSCMContainerPlacementRackAware {
     long tryCount = metrics.getDatanodeChooseAttemptCount();
     long compromiseCount = metrics.getDatanodeChooseFallbackCount();
 
-    Assert.assertTrue(totalRequest == nodeNum);
-    Assert.assertTrue(successCount >= 3);
-    Assert.assertTrue(tryCount >= nodeNum);
-    Assert.assertTrue(compromiseCount == 0);
+    Assert.assertEquals(totalRequest, nodeNum);
+    MatcherAssert.assertThat("Not enough success count", successCount,
+        greaterThanOrEqualTo(1L));
+    MatcherAssert.assertThat("Not enough try count", tryCount,
+        greaterThanOrEqualTo((long) 1L));
+    Assert.assertEquals(compromiseCount, 0);
   }
 
   @Test
@@ -289,8 +293,8 @@ public class TestSCMContainerPlacementRackAware {
     List<DatanodeDetails> datanodeDetails = policy.chooseDatanodes(
         excludedNodes, favoredNodes, nodeNum, 15);
     Assert.assertEquals(nodeNum, datanodeDetails.size());
-    Assert.assertTrue(datanodeDetails.get(0).getNetworkFullPath()
-        .equals(favoredNodes.get(0).getNetworkFullPath()));
+    Assert.assertEquals(datanodeDetails.get(0).getNetworkFullPath(),
+        favoredNodes.get(0).getNetworkFullPath());
 
     // no overlap between excludedNodes and favoredNodes, favoredNodes can been
     // chosen.
@@ -301,8 +305,8 @@ public class TestSCMContainerPlacementRackAware {
     datanodeDetails = policy.chooseDatanodes(
         excludedNodes, favoredNodes, nodeNum, 15);
     Assert.assertEquals(nodeNum, datanodeDetails.size());
-    Assert.assertTrue(datanodeDetails.get(0).getNetworkFullPath()
-        .equals(favoredNodes.get(0).getNetworkFullPath()));
+    Assert.assertEquals(datanodeDetails.get(0).getNetworkFullPath(),
+        favoredNodes.get(0).getNetworkFullPath());
 
     // there is overlap between excludedNodes and favoredNodes, favoredNodes
     // should not be chosen.
@@ -335,10 +339,11 @@ public class TestSCMContainerPlacementRackAware {
     long tryCount = metrics.getDatanodeChooseAttemptCount();
     long compromiseCount = metrics.getDatanodeChooseFallbackCount();
 
-    Assert.assertTrue(totalRequest == nodeNum);
-    Assert.assertTrue(successCount == 0);
-    Assert.assertTrue(tryCount > nodeNum);
-    Assert.assertTrue(compromiseCount == 0);
+    Assert.assertEquals(totalRequest, nodeNum);
+    Assert.assertEquals(successCount, 0);
+    MatcherAssert.assertThat("Not enough try", tryCount,
+        greaterThanOrEqualTo((long) nodeNum));
+    Assert.assertEquals(compromiseCount, 0);
   }
 
   @Test
@@ -372,4 +377,4 @@ public class TestSCMContainerPlacementRackAware {
     Assert.assertTrue(cluster.isSameParent(datanodeDetails.get(1),
         datanodeDetails.get(2)));
   }
-}
\ No newline at end of file
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-commits-h...@hadoop.apache.org

Reply via email to