You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (Jira)" <ji...@apache.org> on 2026/06/04 08:00:03 UTC

[jira] [Updated] (HBASE-30038) RefCnt Leak error when caching

     [ https://issues.apache.org/jira/browse/HBASE-30038?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Duo Zhang updated HBASE-30038:
------------------------------
    Fix Version/s: 3.0.0-beta-2
                       (was: 3.0.0)

> RefCnt Leak error when caching
> ------------------------------
>
>                 Key: HBASE-30038
>                 URL: https://issues.apache.org/jira/browse/HBASE-30038
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 3.0.0-beta-1, 2.6.5
>            Reporter: Dimas Shidqi Parikesit
>            Assignee: Dimas Shidqi Parikesit
>            Priority: Critical
>              Labels: pull-request-available
>             Fix For: 2.7.0, 3.0.0-beta-2, 2.6.6
>
>
> This bug is similar to [HBASE-28890|https://issues.apache.org/jira/browse/HBASE-28890]
> HFileBlock.Writer.getBlockForCaching() creates a ref-counted HFileBlock, and the caller must release its own reference after the cache has taken the ownership it needs. 
> In HFileWriterImpl.java, the leak happened when shouldCacheBlock() returned before cacheFormatBlock.release() ran.
> In HFileBlockIndex.java, the intermediate-index path cached blockForCaching but never released the reference at all. 
> Because these blocks can be backed by pooled off-heap ByteBuffs, repeated HFile writes could steadily drain allocator buffers and effectively leak memory, even though the blocks were only meant to live long enough to be considered for cache-on-write.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)