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

Anoop Sam John commented on HBASE-16436:
----------------------------------------

You mean to say when the cell size does not allow it to be copied to an MSLAB 
chunk (from pool) let us have the cell be there as such (we will copy the data 
then as till it reaches memstore level, the cells data is backed by the same 
byte[] where the RPCServer copied the req bytes into) and that cell's backing 
buffer we will make as a fake chunk?  We will keep it temp with a temp chunk id 
and once the life of the cell is over, flushed, we will throw away that chunk?  
Hmm seems some thing we can try out.
MSLAB pool default ON am not sure whether that jira got committed already. Ya 
we can do.
There is one more issue.  [~ram_krish] reminded me some days back. When a cell 
is upserted (append/increment op), we will not copy that cell to MSLAB.  So in 
such a case also we may need to go with this way of temp chunks with temp ids.

Another idea I can think of is as follows
Let us keep the info that whether a Segment contains a cell which is not copied 
to MSLAB.  A boolean like 'tagsPresent'.  When we do in memory flush we will do 
CellArrayMap if any of the  cell is NOT in MSLAB.  If all in MSLAB, we will do 
chunk map.  Also when an in memory merge or data compaction happens, then also 
similar way.  When any of the segment undergoing merge is having a cell not in 
MSLAB, lets go with cell array map instead of cell chunkmap. May be we need 
some logic there where we can avoid segments with cells not in MSLAB from 
getting merged with segmnets whose all cells in MSALB only.  Chance is that 
when a segment is having cells not in MSLAB, other segments also will follow 
same pattern (99% I can say)..  Need evaluation of both ways anyway.  Just some 
thoughts

> Add the CellChunkMap variant
> ----------------------------
>
>                 Key: HBASE-16436
>                 URL: https://issues.apache.org/jira/browse/HBASE-16436
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: ramkrishna.s.vasudevan
>
> This sub-task is specifically to add the CellChunkMap created by [~anastas] 
> and [~eshcar] with specific tests and integrate it with the in memory 
> flush/compaction flow. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to