Repository: hadoop Updated Branches: refs/heads/branch-2 adcdcfd5c -> 135ceb6c7
HDFS-9865. TestBlockReplacement fails intermittently in trunk (Lin Yiqun via iwasakims) (cherry picked from commit d718fc1ee5aee3628e105339ee3ea183b6242409) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/135ceb6c Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/135ceb6c Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/135ceb6c Branch: refs/heads/branch-2 Commit: 135ceb6c7bbafc1dac8e509e994cc7dc0acdc426 Parents: adcdcfd Author: Masatake Iwasaki <iwasak...@apache.org> Authored: Tue Mar 8 02:07:18 2016 +0900 Committer: Masatake Iwasaki <iwasak...@apache.org> Committed: Tue Mar 8 02:11:07 2016 +0900 ---------------------------------------------------------------------- .../server/datanode/TestBlockReplacement.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/135ceb6c/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java index bfd02e2..286a180 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java @@ -412,11 +412,19 @@ public class TestBlockReplacement { (DatanodeInfo)sourceDnDesc, (DatanodeInfo)sourceDnDesc, (DatanodeInfo)destDnDesc)); // Waiting for the FsDatasetAsyncDsikService to delete the block - Thread.sleep(3000); - // Triggering the incremental block report to report the deleted block to - // namnemode - cluster.getDataNodes().get(0).triggerBlockReport( - new BlockReportOptions.Factory().setIncremental(true).build()); + for (int tries = 0; tries < 20; tries++) { + Thread.sleep(1000); + // Triggering the deletion block report to report the deleted block + // to namnemode + DataNodeTestUtils.triggerDeletionReport(cluster.getDataNodes().get(0)); + locatedBlocks = + client.getNamenode().getBlockLocations("/tmp.txt", 0, 10L) + .getLocatedBlocks(); + // If block was deleted and only on 1 datanode then break out + if (locatedBlocks.get(0).getLocations().length == 1) { + break; + } + } cluster.transitionToStandby(0); cluster.transitionToActive(1);