Anoop Sam John commented on HBASE-18375:

Thanks for the confirm.  This is excellent investigation story!
bq.As solution to Release 2.0 I would suggest to bring back the chunks (from 
pool) linked list into the MSLAB instead of chunk IDs linked list.
This is for the pool related bug fix right. Ya that make sense. There is no 
point in NOT holding chunk refs in MSLAB (When from pool).  Any way those 
chunks are not going to go off at any time.
When CellChunkMap is in place, seems we can not release any chunk unless a 
CellChunkMap is been made (in memory flush flatten).   This will have concern 
as said in HBASE-16195.   So at least when the CellChunkMap is been made, we 
should remove the unreferred chunks.  
How u plan? Fix both issues here or in 2 jiras?

> 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