HDFS-14029. Sleep in TestLazyPersistFiles should be put into a loop. Contributed by Adam Antal.

(cherry picked from commit 9b899f1ebd)
This commit is contained in:
Arpit Agarwal 2018-10-25 15:14:13 -07:00
parent 96bdaf3b4a
commit f6469adbb1
1 changed files with 7 additions and 8 deletions

View File

@ -151,7 +151,7 @@ public class TestLazyPersistFiles extends LazyPersistTestCase {
/** /**
* If NN restarted then lazyPersist files should not deleted * If NN restarted then lazyPersist files should not deleted
*/ */
@Test @Test(timeout = 20000)
public void testFileShouldNotDiscardedIfNNRestarted() public void testFileShouldNotDiscardedIfNNRestarted()
throws IOException, InterruptedException, TimeoutException { throws IOException, InterruptedException, TimeoutException {
getClusterBuilder().setRamDiskReplicaCapacity(2).build(); getClusterBuilder().setRamDiskReplicaCapacity(2).build();
@ -165,13 +165,12 @@ public class TestLazyPersistFiles extends LazyPersistTestCase {
cluster.restartNameNodes(); cluster.restartNameNodes();
// wait for the redundancy monitor to mark the file as corrupt. // wait for the redundancy monitor to mark the file as corrupt.
Thread.sleep(2 * DFS_NAMENODE_REDUNDANCY_INTERVAL_SECONDS_DEFAULT * 1000); Long corruptBlkCount;
do {
Long corruptBlkCount = (long) Iterators.size(cluster.getNameNode() Thread.sleep(DFS_NAMENODE_REDUNDANCY_INTERVAL_SECONDS_DEFAULT * 1000);
corruptBlkCount = (long) Iterators.size(cluster.getNameNode()
.getNamesystem().getBlockManager().getCorruptReplicaBlockIterator()); .getNamesystem().getBlockManager().getCorruptReplicaBlockIterator());
} while (corruptBlkCount != 1L);
// Check block detected as corrupted
assertThat(corruptBlkCount, is(1L));
// Ensure path1 exist. // Ensure path1 exist.
Assert.assertTrue(fs.exists(path1)); Assert.assertTrue(fs.exists(path1));