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

[jira] [Commented] (HBASE-23258) Reconsider the DBB memory leak in the exceptional paths.

    [ https://issues.apache.org/jira/browse/HBASE-23258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16968039#comment-16968039 ] 

Lijin Bin commented on HBASE-23258:
-----------------------------------

I have do some patch in HBASE-22480 before, but no one continue the review.

> Reconsider the DBB memory leak in the exceptional paths.
> --------------------------------------------------------
>
>                 Key: HBASE-23258
>                 URL: https://issues.apache.org/jira/browse/HBASE-23258
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Zheng Hu
>            Assignee: Zheng Hu
>            Priority: Major
>             Fix For: 3.0.0, 2.3.0
>
>
> Have a discussion with [~anoop.hbase],  we find still have some exceptional paths which we did not handle DBB#release correctly. More details are the following: 
> {code}
> > HFileReaderImpl#validateBlockType - When throws Exception, the get block is gone. Want to return?
> Yeah, we've two cases to validateBlockType. one is reading from cache, another one is reading from hfile. 
> we've abstracted the block for both cache types and hfiles ( ex release the block from heap will donothing), so
> here seems we should do release if throws IOException.
> > Only inside another condition we return and evict block
> readBlock - The got block is unused when we throw Exception on DBE type mismatch
> Em..we return null finally , seems the block also need to release the block.
> {code}
> Will take a look around  all the exceptional paths and consider any other DBB leak issues.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)