[
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)