private Cell[] getData(String family, String row, List<String> columns, int expBlocksRowCol,
    int expBlocksRow, int expBlocksNone) throws IOException {
    int[] expBlocks = new int[] { expBlocksRowCol, expBlocksRow, expBlocksNone };
    Cell[] kvs = null;

    for (int i = 0; i < BLOOM_TYPE.length; i++) {
      BloomType bloomType = BLOOM_TYPE[i];
      byte[] cf = Bytes.toBytes(family + "_" + bloomType);
      long blocksStart = getBlkAccessCount(cf);
      Get get = new Get(Bytes.toBytes(row));

      for (String column : columns) {
        get.addColumn(cf, Bytes.toBytes(column));
      }

      kvs = region.get(get).rawCells();
      long blocksEnd = getBlkAccessCount(cf);
      if (expBlocks[i] != -1) {
        assertEquals("Blocks Read Check for Bloom: " + bloomType, expBlocks[i],
          blocksEnd - blocksStart);
      }
      System.out.println("Blocks Read for Bloom: " + bloomType + " = " + (blocksEnd - blocksStart)
        + "Expected = " + expBlocks[i]);
    }
    return kvs;
  }
Callers must afterward call {@link HBaseTestingUtil#closeRegionAndWAL(HRegion)}
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java