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

Anastasia Braginsky commented on HBASE-16438:
---------------------------------------------

Hi Guys!

I really apologize for this late comment. If you haven't yet committed, please 
consider this comment. 
I just had time to went over the last version of the patch once again. I left 
some comment in the RB, please take a look there, but most of them are not very 
important. 
The very important thing is that I have just realized that seqID is not written 
anywhere in the ByteBuffer! Please correct me if I am wrong...

I was sure (that even before this patch) the serialization of the Cell included 
writing of the seqID to the ByteBuffer and we are talking only about 
CellChunkMap. Obviously, if seqID is not written in MSLAB Chunk upon cell 
creation (when the cell is still indexed with CSLM) it can not be added there 
later when we have the transfer to CellChunkMap. So the only two options are 
(1) to add seqID in the index-chunk when CellChunkMap is created 
(in-memory-flush) or (2) to write seqID into the data-chunk when a cell is 
added to the memstore IN ADDITION to seqID continue existing in the Cell Object.

I strongly suggest to do the second option.
First, if seqID remains in the Cell object, there is completely no new work 
being done in the DefaultMemStore or active segment. The seqID in the data 
chunk are not going to be accessed by anyone except CellChunkMap.
Second, addition of another 8 bytes to key+value, which is anyway big sized is 
not significant. While adding those 8 bytes to cell-representation in the 
ChunkMap is increasing the metadata per cell almost twice.

I really appreciate all the hard work that you are doing! You were talking 
about this issue even before, I am sorry I didn't understand that. But I think 
this task is not complete before we finalize this seqID issue...

> Create a cell type so that chunk id is embedded in it
> -----------------------------------------------------
>
>                 Key: HBASE-16438
>                 URL: https://issues.apache.org/jira/browse/HBASE-16438
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 2.0.0
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: 
> HBASE-16438_10_ChunkCreatorwrappingChunkPool_withchunkRef.patch, 
> HBASE-16438_11_ChunkCreatorwrappingChunkPool_withchunkRef.patch, 
> HBASE-16438_1.patch, HBASE-16438_3_ChunkCreatorwrappingChunkPool.patch, 
> HBASE-16438_4_ChunkCreatorwrappingChunkPool.patch, 
> HBASE-16438_8_ChunkCreatorwrappingChunkPool_withchunkRef.patch, 
> HBASE-16438_9_ChunkCreatorwrappingChunkPool_withchunkRef.patch, 
> HBASE-16438.patch, MemstoreChunkCell_memstoreChunkCreator_oldversion.patch, 
> MemstoreChunkCell_trunk.patch
>
>
> For CellChunkMap we may need a cell such that the chunk out of which it was 
> created, the id of the chunk be embedded in it so that when doing flattening 
> we can use the chunk id as a meta data. More details will follow once the 
> initial tasks are completed. 
> Why we need to embed the chunkid in the Cell is described by [~anastas] in 
> this remark over in parent issue 
> https://issues.apache.org/jira/browse/HBASE-14921?focusedCommentId=15244119&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15244119



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to