[ 
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)

Reply via email to