Skip to content

Commit

Permalink
HBASE-23853 [Flakey Test] TestBlockEvictionFromClient#testBlockRefCou…
Browse files Browse the repository at this point in the history
…ntAfterSplits (#1363) (#1367)

Signed-off-by: Jan Hentschel <jan.hentschel@ultratendency.com>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: stack <stack@apache.org>
  • Loading branch information
huaxiangsun committed Mar 27, 2020
1 parent 00c8ccd commit 9f53d35
Showing 1 changed file with 17 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HRegionLocation;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
Expand All @@ -50,6 +51,7 @@
import org.apache.hadoop.hbase.io.hfile.CachedBlock;
import org.apache.hadoop.hbase.io.hfile.CombinedBlockCache;
import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache;
import org.apache.hadoop.hbase.regionserver.BloomType;
import org.apache.hadoop.hbase.regionserver.HRegion;
import org.apache.hadoop.hbase.regionserver.HStore;
import org.apache.hadoop.hbase.regionserver.InternalScanner;
Expand Down Expand Up @@ -556,8 +558,17 @@ public void testGetWithMultipleColumnFamilies() throws IOException, InterruptedE

@Test
public void testBlockRefCountAfterSplits() throws IOException, InterruptedException {
final TableName tableName = TableName.valueOf(name.getMethodName());
try (Table table = TEST_UTIL.createTable(tableName, FAMILIES_1, 1, 1024)) {
Table table = null;
try {
final TableName tableName = TableName.valueOf(name.getMethodName());
HTableDescriptor desc = TEST_UTIL.createTableDescriptor(tableName);
// This test expects rpc refcount of cached data blocks to be 0 after split. After split,
// two daughter regions are opened and a compaction is scheduled to get rid of reference
// of the parent region hfiles. Compaction will increase refcount of cached data blocks by 1.
// It is flakey since compaction can kick in anytime. To solve this issue, table is created
// with compaction disabled.
desc.setCompactionEnabled(false);
table = TEST_UTIL.createTable(desc, FAMILIES_1, null, BloomType.ROW, 1024, null);
// get the block cache and region
RegionLocator locator = TEST_UTIL.getConnection().getRegionLocator(tableName);
String regionName = locator.getAllRegionLocations().get(0).getRegion().getEncodedName();
Expand Down Expand Up @@ -599,6 +610,10 @@ public void testBlockRefCountAfterSplits() throws IOException, InterruptedExcept
// Though the split had created the HalfStorefileReader - the firstkey and lastkey scanners
// should be closed inorder to return those blocks
iterateBlockCache(cache, iterator);
} finally {
if (table != null) {
table.close();
}
}
}

Expand Down

0 comments on commit 9f53d35

Please sign in to comment.