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);

Reply via email to