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 Wed, 09 Aug 2017 10:25:01 GMT

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

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

bq. It is the ChunkMap impl which need to keep the ref to Chunks for longer. So I think it
should be responsibility of that class to act. 
This is impossible, because chunks mapping need to be saved since the chunk was created and
this is before any CellChunkMap exists.

How common is the scenario of HBASE-16195 ?

I see two options
1. StrongMap for pool and only when CCM is defined then for other chunks
2. Make CCM to work only with chunks from pool and throw exception when there are no more
chunks in pool. The user will be requested to put all its memory to the pool in this case.

I believe that the first option is much better.

> 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
>    Affects Versions: 2.0.0-alpha-1
>            Reporter: Anastasia Braginsky
>            Assignee: Anastasia Braginsky
>            Priority: Critical
>             Fix For: 2.0.0, 3.0.0, 2.0.0-alpha-2
>
>         Attachments: HBASE-18375-V01.patch, HBASE-18375-V02.patch, HBASE-18375-V03.patch,
HBASE-18375-V04.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