HBASE-26858 Refactor TestMasterRegionOnTwoFileSystems to avoid dead loop (#4238)

Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
This commit is contained in:
Duo Zhang 2022-03-18 23:09:09 +08:00 committed by GitHub
parent 84acdf98ce
commit 31db8e3b3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 1 deletions

View File

@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.master.region;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@ -188,7 +189,7 @@ public class TestMasterRegionOnTwoFileSystems {
LOG.info("wal archive dir {}", walArchiveDir);
AbstractFSWAL<?> wal = (AbstractFSWAL<?>) region.region.getWAL();
Path currentWALFile = wal.getCurrentFileName();
for (;;) {
for (int i = 0; ; i++) {
region.requestRollAll();
region.waitUntilWalRollFinished();
Path newWALFile = wal.getCurrentFileName();
@ -196,6 +197,10 @@ public class TestMasterRegionOnTwoFileSystems {
if (!newWALFile.equals(currentWALFile)) {
break;
}
if (i == 10) {
fail("Can not roll wal after " + i + " times");
}
Thread.sleep(1000);
}
HFILE_UTIL.waitFor(15000, () -> {
try {