[
https://issues.apache.org/jira/browse/HBASE-16438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15942878#comment-15942878
]
Anastasia Braginsky commented on HBASE-16438:
---------------------------------------------
OK, I understand what you are saying. Then how about using Java's Soft
References in the ChunkCreator?
https://docs.oracle.com/javase/7/docs/api/java/lang/ref/SoftReference.html
In short, Soft References are used in Java to implement caches and objects
pointed by soft references can be GCed if no other (hard reference) is pointing
to this object.
This sounds to me as good (and again simple) solution. If any cell is not
reachable from any CSLM/CellArrayMap/CellChunkMap then we are not going to read
its chunkID and to ask for translation, so we do not care that its reference is
cleared from the ChunkCreator's map. Just need to be careful about those null
pointers in the ChunkCreator's Map. What do you think?
bq. I mean how to pass the info whether the CSLM has to be converted to
CellArrayMap or CellChunkMap.
I plan to have it user-configured as part of MemStore definition (at least as a
first step). I mean once created, some CompactingMemStore is planed to work
with CellArayMap and another CompactingMemStore is created to work with
CellChunkMap (mostly for the off-heap). But this is of course can be changed.
> 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)