Wellington Chevreuil created HBASE-28893:
--------------------------------------------
Summary: RefCnt Leak error when closing a HalfStoreFileReader
Key: HBASE-28893
URL: https://issues.apache.org/jira/browse/HBASE-28893
Project: HBase
Issue Type: Bug
Reporter: Wellington Chevreuil
Assignee: Wellington Chevreuil
In HBASE-28596 we have added ability for references to get resolved to the
original file blocks in bucket cache. As part of this, we had to modify
HalfStoreFileReader.close method, to create a scanner and seek to boundary cell
in order to get the related offset and calculate the limiting offset for blocks
we want to evict. We missed close the scanner instance there, which then cause
the refcount leaks reported as below:
{noformat}
2024-09-25 14:24:51,292 ERROR
org.apache.hbase.thirdparty.io.netty.util.ResourceLeakDetector: LEAK:
RefCnt.release() was not called before it's garbage-collected. See
https://netty.io/wiki/reference-counted-objects.html for more information.
Recent access records:
Created at:
org.apache.hadoop.hbase.nio.RefCnt.<init>(RefCnt.java:59)
org.apache.hadoop.hbase.nio.RefCnt.create(RefCnt.java:54)
org.apache.hadoop.hbase.nio.ByteBuff.wrap(ByteBuff.java:550)
org.apache.hadoop.hbase.io.ByteBuffAllocator.allocate(ByteBuffAllocator.java:357)
org.apache.hadoop.hbase.io.hfile.bucket.FileIOEngine.read(FileIOEngine.java:134)
org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.getBlock(BucketCache.java:666)
org.apache.hadoop.hbase.io.hfile.CombinedBlockCache.getBlock(CombinedBlockCache.java:98)
org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.getCachedBlock(HFileReaderImpl.java:1102)
org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.readBlock(HFileReaderImpl.java:1287)
org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.readBlock(HFileReaderImpl.java:1248)
org.apache.hadoop.hbase.io.hfile.HFileBlockIndex$CellBasedKeyBlockIndexReader.loadDataBlockWithScanInfo(HFileBlockIndex.java:318)
org.apache.hadoop.hbase.io.hfile.HFileReaderImpl$HFileScannerImpl.seekTo(HFileReaderImpl.java:670)
org.apache.hadoop.hbase.io.hfile.HFileReaderImpl$HFileScannerImpl.seekTo(HFileReaderImpl.java:623)
org.apache.hadoop.hbase.io.HalfStoreFileReader.close(HalfStoreFileReader.java:368)
org.apache.hadoop.hbase.regionserver.HStore.removeCompactedfiles(HStore.java:2352)
org.apache.hadoop.hbase.regionserver.HStore.closeAndArchiveCompactedFiles(HStore.java:2314)
org.apache.hadoop.hbase.regionserver.CompactedHFilesDischargeHandler.process(CompactedHFilesDischargeHandler.java:41)
org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:104)
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)