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

Gali Sheffi commented on HBASE-19133:
-------------------------------------

Hi Everyone,

We have prepared the fix for the problem where while working with MSLAB and 
CellChunkMap we still encounter cells allocated on heap. Those "object-cells" 
can appear due to big size of the cell or due to cell being upserted/appended. 
Those cells need to be copied on the MSLAB while the flattening to CellChunkMap 
is happening.

To guide you through the fix those are the steps:
1. While flattening a segment into CCM-segment if there is a cell not allocated 
on chunk, copy it there.
2. Just for that case, we have relaxed the maxAlloc limitation of the MSLAB or 
we use JumboChunks if the cell is even bigger than the standard size of the 
chunk.
3. Also while working on this we encountered that cell size as an object and as 
a serialization on the ByteBuffer is little different and it is calculated 
little different. So for now we update just the heapSize with the new size. 
However it looks like that region sizing need to be updated as well. What do 
you guys think?

Anyway the patch is published here and on the review board. Please review!
Thanks!

> 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
>         Attachments: HBASE-19133.01.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
(v6.4.14#64029)

Reply via email to