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

ramkrishna.s.vasudevan commented on HBASE-16438:
------------------------------------------------

bq.In ByteBufferChunkCell, please explain me why to add this new class? Why can 
not the existing BBKV just have a new method - getChunkId() - to return the 
chunk id in the 0th offset of the backing BB?
We now have BBKV every where in write path and we can also make use of it in 
read path to form cells coming out of hfileblocks. Since we have added 
getChunkId() to the ExtendedCell any cell can make use of this getchunkId. 
(though it was not generic it was added to make things simpler).
Since we deal with ExtendedCells we create a specific impl of BBKV that returns 
the chunkId alone and by default it will be returning -1.
bq.In ByteBufferKeyValue or in MSLAB or anywhere else, please add constant 
saying what is the size in bytes of the ChunkCell or what I call 
cell-representation (chunkId + offset + length + seqId), so I can use it later.
Ok.
bq.OK. So lets have a new cell representation.
Ok fine we can make use of it.
bq.This is not a desired situation. We are increasing from 12 bytes to 20 
bytes, almost twice... We should not do it unless it is very very necessary...
Some where we need the seqId of every cell getting written to the cellChunkMap. 
How do you think you can avoid it? You have some idea on that?
bq.. In ByteBufferKeyValue or in MSLAB or anywhere else, please add constant 
saying what is the size in bytes of the ChunkCell 
Am just getting confused here. When you say ChunkCell are you telling the 
BBChunkCell in current patch? In current patch there is no extra overhead at 
all. But if you are talking about the cell to be moved to CellChunkMap - yes 
then it will have some overhead in terms of serialization and not in terms of 
heap overhead. 

> 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_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