[ https://issues.apache.org/jira/browse/HBASE-14921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15214273#comment-15214273 ]
Anastasia Braginsky commented on HBASE-14921: --------------------------------------------- Thanks [~ram_krish], you raise the really good questions about ChunkPool! bq. So the CellBlockSerialized (I think we can have a better name) - will work only if the MSLAB Chunk pool is ON right? If there is no MSLAB chunk pool still it can work? I may be missing something. Indeed this requires ChunkPool to be ON. Please pay attention that we can design ChunkPool not to pre-allocate Chunks if this is what configuration wants. It can be just a global bookkeeper for all allocated Chunks. We just require ChunkPool not to be NULL. bq. Now in your shallowCellsToBuffer even the shallowBuffer is created with the same 'chunkSize' as we create the deepbuffer also? Is that really needed? The “chunkSize” used in shallowCellsToBuffer holds the size of any Chunk created by ChunkPool. I assume (as it is now in MemStoreChunkPool) that all Chunks created from the same instance of Pool are of same size. This is why one can reuse the Chunks. If Chunks are "tailor-made" with different sizes, they almost cannot be reused. bq. How does things work when the chunkpool gets reset and initialized? This would be a problem. What is the case when ChunkPool need to be reset and initialized? And BTW regarding the names, do you like the names that I have suggested above? {quote} Regarding the names, as “CellBlock” is already in some other use, we suggest the following names (almost as you suggested). CellBlock -> CellFlatMap CellBlockObjectArray -> CellArrayMap CellBlockSerialized -> CellChunkMap Why “flat”? Because this is how we call the process of changing the ConcurrentSkipListMap to CellMap. When we have in-memory-flash and there is no need to compact (unnecessary copies) we flatten the segment. Meaning we create ImmutableSegment with the same MSLAB, but with different Map, replacing ConcurrentSkipListMap to CellMap. What do you think? {quote} > Memory optimizations > -------------------- > > Key: HBASE-14921 > URL: https://issues.apache.org/jira/browse/HBASE-14921 > Project: HBase > Issue Type: Sub-task > Affects Versions: 2.0.0 > Reporter: Eshcar Hillel > Assignee: Anastasia Braginsky > Attachments: CellBlocksSegmentInMemStore.pdf, > CellBlocksSegmentinthecontextofMemStore(1).pdf, HBASE-14921-V01.patch, > HBASE-14921-V02.patch > > > Memory optimizations including compressed format representation and offheap > allocations -- This message was sent by Atlassian JIRA (v6.3.4#6332)