private void readStoreFile(Path storeFilePath, Configuration conf, ByteBuffAllocator alloc)
    throws Exception {
    // Open the file reader with block cache disabled.
    CacheConfig cache = new CacheConfig(conf, null, null, alloc);
    HFile.Reader reader = HFile.createReader(fs, storeFilePath, cache, true, conf);
    long offset = 0;
    while (offset < reader.getTrailer().getLoadOnOpenDataOffset()) {
      HFileBlock block = reader.readBlock(offset, -1, false, true, false, true, null, null);
      offset += block.getOnDiskSizeWithHeader();
      block.release(); // return back the ByteBuffer back to allocator.
    }
    reader.close();
  }
Tests that we properly allocate from the off-heap or on-heap when CombinedCache is configured.
In this case, we should always use off-heap unless the block is an INDEX (which always goes to
L1 cache which is on-heap)
hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java