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]
