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

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

The problem in HBASE-16195 is this.
Say we have MSLAB in place and it is not pooled at all.
The data is duplicated so much. Means one cell is added and again same more 
cells might come in.  When we add a cell to CSLM, the existing same one will 
get removed right. U can see the logic around sizing and all.
Now say a chunk is having 200 bytes size. cell1 is added which is of size 100 
and cell2 again with 100 bytes size.  Now that  chunk is full and we get 
another chunk of 200 bytes size.  Again cell1 and cell2 comes in.  CSLM will 
remove old added cell1 and cell2.  Means there are no refs to chunk1 from any 
cells..  (Forget abt concurrent scanners. In this case assume no such 
concurrent scan at all)..  chunk2 only active now.  Ideally GC can reclaim 
chunk1.   Now if we keep a ref to chunks (Any place other than from cells), 
chunk can not be reclaimed.  This was the issue.  Hope it is clear now.
As long as we have even one active cell within a chunk (The cell object is gone 
as it is converted to ChunkMap), we need its mapping.  Any time a scan can 
refer to this cell.  
How u plan to support ChunkMap feature?  I mean how to pass the info whether 
the CSLM has to be converted to CellArrayMap or CellChunkMap.  When 
CellChunkMap is not in use, may be we dont need to keep this id vs chunk map at 
all..  How abt we enable this feature iff MSLAB pool is in place? Just asking

> 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