[ 
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)

Reply via email to