HDFS-9865. TestBlockReplacement fails intermittently in trunk (Lin Yiqun via iwasakims)

(cherry picked from commit d718fc1ee5)
This commit is contained in:
Masatake Iwasaki 2016-03-08 02:07:18 +09:00
parent 0d734cea44
commit 22f7730940
1 changed files with 13 additions and 5 deletions

View File

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