hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anastasia Braginsky (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18375) The pool chunks from ChunkCreator are deallocated while in pool because there is no reference to them
Date Thu, 13 Jul 2017 13:44:00 GMT

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

Anastasia Braginsky commented on HBASE-18375:
---------------------------------------------

I submit the patch with the fix, here and on RB. Please review. The solution is to always
keep the pool chunks covered with strong map references protection.
I was consistently hitting the null pointer exception caused by this problem. It happened
when I was running with CellChunkMap. When running with this fix, the problem doesn't reappear.

bq. That jira was committed long back (In April) and should be there in branch 2.0. Why?

I was asking because I think that with HBASE-16438 and without the fix, the release 2.0 can
be exposed to the problem with chunk being deallocated while transferred to pool. However,
the chance of this to happen is very low because there the ChunkCreator map was holding soft
references and not weak... So I wonder whether we need to do something there as well...

[~anoop.hbase], [~ramkrishna], what do you think?

> The pool chunks from ChunkCreator are deallocated while in pool because there is no reference
to them
> -----------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-18375
>                 URL: https://issues.apache.org/jira/browse/HBASE-18375
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Anastasia Braginsky
>            Priority: Critical
>         Attachments: HBASE-18375-V01.patch
>
>
> Because MSLAB list of chunks was changed to list of chunk IDs, the chunks returned back
to pool can be deallocated by JVM because there is no reference to them. The solution is to
protect pool chunks from GC by the strong map of ChunkCreator introduced by HBASE-18010. Will
prepare the patch today.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message