Anastasia Braginsky commented on HBASE-19133:

Hi [~yuzhih...@gmail.com], 

Thanks for your comments. Regarding your first comment, indeed there is a 
problem when proceeding merge on the list of segments where flattening of big 
cells should still happen. Thank you for raising our attention to this point. 
However, forceCopyOfBigCellInto() should still happen in the case it is still 
needed. Therefore the solution is not to check the type of MSLAB and eliminate 
the call, but to proceed with forceCopyOfBigCellInto() on the 
ImmutableMemStoreLAB as well. We will come with the fix very soon on the 
separate JIRA. Gali will proceed with the fix.
{quote}bq. maybeCloneWithAllocator() should check whether clone is supported by 
this.memStoreLAB. If not, it just returns the Cell. 
This is wrong. In our case when big cell is encountered, the clone should 
happen anyway unless MSLAB is generally undefined. The meaning of the 
forceCloneOfBigCell() is to clone the cell despite the possible limitations of 
maxAlloc or chunkSize.

> Transfer big cells or upserted/appended cells into MSLAB upon flattening to 
> CellChunkMap
> ----------------------------------------------------------------------------------------
>                 Key: HBASE-19133
>                 URL: https://issues.apache.org/jira/browse/HBASE-19133
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Anastasia Braginsky
>            Assignee: Gali Sheffi
>            Priority: Major
>             Fix For: 2.0.0-beta-1
>         Attachments: HBASE-19133-V01.patch, HBASE-19133-V02.patch, 
> HBASE-19133-V03.patch, HBASE-19133.01.patch, HBASE-19133.02.patch, 
> HBASE-19133.03.patch, HBASE-19133.04.patch, HBASE-19133.05.patch, 
> HBASE-19133.06.patch, HBASE-19133.07.patch, HBASE-19133.08.patch, 
> HBASE-19133.09.patch, HBASE-19133.10.patch, HBASE-19133.11.patch
> CellChunkMap Segment index requires all cell data to be written in the MSLAB 
> Chunks. Eventhough MSLAB is enabled, cells bigger than chunk size or 
> upserted/incremented/appended cells are still allocated on the JVM stack. If 
> such cells are found in the process of flattening into CellChunkMap 
> (in-memory-flush) they need to be copied into MSLAB.

This message was sent by Atlassian JIRA

Reply via email to