Skip to content

Commit

Permalink
HBASE-16725 Don't let flushThread hang in TestHRegion
Browse files Browse the repository at this point in the history
  • Loading branch information
tedyu committed Sep 29, 2016
1 parent f3270d4 commit 63808a2
Showing 1 changed file with 25 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3767,8 +3767,8 @@ public void testFlushCacheWhileScanning() throws IOException, InterruptedExcepti

String method = "testFlushCacheWhileScanning";
this.region = initHRegion(tableName, method, CONF, family);
FlushThread flushThread = new FlushThread();
try {
FlushThread flushThread = new FlushThread();
flushThread.start();

Scan scan = new Scan();
Expand All @@ -3787,7 +3787,7 @@ public void testFlushCacheWhileScanning() throws IOException, InterruptedExcepti
region.put(put);

if (i != 0 && i % compactInterval == 0) {
// System.out.println("iteration = " + i);
LOG.debug("iteration = " + i+ " ts="+System.currentTimeMillis());
region.compact(true);
}

Expand All @@ -3806,15 +3806,20 @@ public void testFlushCacheWhileScanning() throws IOException, InterruptedExcepti
if (!toggle) {
flushThread.flush();
}
assertEquals("i=" + i, expectedCount, res.size());
assertEquals("toggle="+toggle+"i=" + i + " ts="+System.currentTimeMillis(),
expectedCount, res.size());
toggle = !toggle;
}
}

flushThread.done();
flushThread.join();
flushThread.checkNoError();
} finally {
try {
flushThread.done();
flushThread.join();
flushThread.checkNoError();
} catch (InterruptedException ie) {
LOG.warn("Caught exception when joining with flushThread", ie);
}
HBaseTestingUtility.closeRegionAndWAL(this.region);
this.region = null;
}
Expand Down Expand Up @@ -3904,12 +3909,12 @@ public void testWritesWhileScanning() throws IOException, InterruptedException {

String method = "testWritesWhileScanning";
this.region = initHRegion(tableName, method, CONF, families);
FlushThread flushThread = new FlushThread();
PutThread putThread = new PutThread(numRows, families, qualifiers);
try {
PutThread putThread = new PutThread(numRows, families, qualifiers);
putThread.start();
putThread.waitForFirstPut();

FlushThread flushThread = new FlushThread();
flushThread.start();

Scan scan = new Scan(Bytes.toBytes("row0"), Bytes.toBytes("row1"));
Expand Down Expand Up @@ -3949,15 +3954,20 @@ public void testWritesWhileScanning() throws IOException, InterruptedException {

region.flush(true);

putThread.join();
putThread.checkNoError();

flushThread.done();
flushThread.join();
flushThread.checkNoError();
} finally {
try {
HBaseTestingUtility.closeRegionAndWAL(this.region);
flushThread.done();
flushThread.join();
flushThread.checkNoError();

putThread.join();
putThread.checkNoError();
} catch (InterruptedException ie) {
LOG.warn("Caught exception when joining with flushThread", ie);
}

try {
HBaseTestingUtility.closeRegionAndWAL(this.region);
} catch (DroppedSnapshotException dse) {
// We could get this on way out because we interrupt the background flusher and it could
// fail anywhere causing a DSE over in the background flusher... only it is not properly
Expand Down

0 comments on commit 63808a2

Please sign in to comment.