Anastasia Braginsky commented on HBASE-18375:

bq. You mean when the Active segment has used at least one Chunk NOT from pool, 
we wont flatten it into a CCM?
No. I think I need to explain how CCM works. It is not that everything can work 
as usual and then only when flattening happens we can start managing the 
chunks. The record of chunks to their IDs must be done when chunk is created 
for active segment, meaning for CSLM. Later it is already to late, as we do not 
want to copy cells from one chunk to another. So if we say CCM is working only 
with pool chunks, also Active works only with pool.

bq. Because we dont have Chunks in Pool, we can not make any writes to fail !!
I agree with you. Therefore I believe the first option is 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

Reply via email to