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

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

bq. I dont think Soft ref can be used. Once the CSLM is converted to 
CellChunkMap, we dont have any hard refs to Chunks from any where (Cells are 
gone). Now the ChunkMap contain chunkId and offset , length info. Now assume a 
GC picked and removed these chunks (Ya there are no hard refs to it), and after 
a read comes and we want to read back that Cell, what to do? !!!!

We can "harden" the references in the map in the process of transferring to 
CellChunkMap (flattening). The chunks that can not be reached will not be a 
part of this process and their IDs won't be found so their references are not 
going to be "harden", which is OK.

bq. So the Chunk that is put in the map will have a soft reference?

Yes. The chunk that is used for CSLM or CellArrayMap is going to have soft 
reference the chunk that is used for CellChunkMap is going to have hard 
reference.

bq. Can we say CellChunkMap to be used along with off heap MSLAB pool usage 
only?

This is the first question to answer. I think we should not limit the 
CellChunkMap to off-heap right now. As we have seen with CompactingMemStore 
only when you implement it all and make a good performance testing you can see 
what is benefit. As now we see the merge is a good thing to do, although in the 
past we already thought to remove this code. So if we implement CellChunkMap 
now without any possibility to use it on-heap, we are limiting ourselves 
without any experimental evidence. I believe we should write the code generally 
enough.

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