Repository: hadoop
Updated Branches:
  refs/heads/branch-3.0 331677936 -> fd5081bd2


HDFS-13065. TestErasureCodingMultipleRacks#testSkewedRack3 is failing. 
Contributed by Gabor Bota.

(cherry picked from commit 6bc2f7f4b4b8d4c36e92764d4c975c17f9fdd63b)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/fd5081bd
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/fd5081bd
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/fd5081bd

Branch: refs/heads/branch-3.0
Commit: fd5081bd24c35c65a1d640657a08e0757d85fc5e
Parents: 3316779
Author: Xiao Chen <[email protected]>
Authored: Sun Jan 28 22:11:08 2018 -0800
Committer: Xiao Chen <[email protected]>
Committed: Sun Jan 28 22:12:25 2018 -0800

----------------------------------------------------------------------
 .../apache/hadoop/hdfs/TestErasureCodingMultipleRacks.java   | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/fd5081bd/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingMultipleRacks.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingMultipleRacks.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingMultipleRacks.java
index 0689665d..3e87253 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingMultipleRacks.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingMultipleRacks.java
@@ -21,6 +21,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.BlockLocation;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hdfs.protocol.ErasureCodingPolicy;
+import org.apache.hadoop.hdfs.protocol.ExtendedBlock;
 import org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy;
 import 
org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault;
 import 
org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyRackFaultTolerant;
@@ -163,7 +164,8 @@ public class TestErasureCodingMultipleRacks {
     // Create enough extra DNs on the 2 racks to test even placement.
     // Desired placement is parityUnits replicas on the 2 racks, and 1 replica
     // on the rest of the racks (which only have 1 DN)
-    setupCluster(dataUnits + parityUnits * 4, dataUnits - parityUnits + 2,
+    int numRacks = dataUnits - parityUnits + 2;
+    setupCluster(dataUnits + parityUnits * 4, numRacks,
         dataUnits - parityUnits);
 
     final int filesize = ecPolicy.getNumDataUnits() * ecPolicy.getCellSize();
@@ -173,6 +175,10 @@ public class TestErasureCodingMultipleRacks {
       final Path path = new Path("/testfile" + i);
       LOG.info("Writing file " + path);
       DFSTestUtil.writeFile(dfs, path, contents);
+      ExtendedBlock extendedBlock = DFSTestUtil.getFirstBlock(dfs, path);
+      // Wait for replication to finish before testing
+      DFSTestUtil.waitForReplication(cluster, extendedBlock, numRacks,
+          ecPolicy.getNumDataUnits() + ecPolicy.getNumParityUnits(), 0);
       BlockLocation[] blocks =
           dfs.getFileBlockLocations(path, 0, Long.MAX_VALUE);
       assertEquals(ecPolicy.getNumDataUnits() + ecPolicy.getNumParityUnits(),


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to