[
https://issues.apache.org/jira/browse/HBASE-14921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15221489#comment-15221489
]
Anoop Sam John commented on HBASE-14921:
----------------------------------------
On CellBlock we have
CellBlock createCellBlocks(Comparator<? super Cell> comparator, int min,
int max, boolean descending);
This is for making a sub set of original block. Can we have a better name pls?
getCellFromIndex(int i) -> getCell (int index) Is this enough?
getValidIndex -> Name looks diff to understand what it does. Pls add some
comments.. Other places wherever necessary
HeapMemStoreLAB memStoreLAB -> WHy need the impl type here? We have MSLAB
interface now.
HeapMemStoreLAB.Chunk[] chunks -> Do we need to keep Chunk refs? byte[] refs
is enough?
Or is this for return back to MSLAB pool after the DISK flush?
{code}
if(chunkPool != null) {
199 c = chunkPool.getChunk();
200 } else {
201 c = new Chunk(chunkSize, 5);
202 c.init();
203 }
{code}
Why this move of init to here immediately after the new Chunk is made? When
multiple threads are at this point, there is a chance that more than one will
do this init call make make byte[]. If it is after compareAndSet, it is sure
abt the concurrency solution.
{code}
Chunk translateIdToChunk(int id) {
225 return chunkPool.translateIdToChunk(id);
226 }
{code}
What if chunk pool is null?
allocateChunk - Why is it needed when we have getOrMakeChunk? Who will
guarantee thread safety here?
//org.junit.Assert.assertTrue("\n\n inside chunk initialization 3", false);
pls remove commented code.. Some other cases also.
-reclaimedChunks.add(chunk);
I can not see where we will be adding it as per the patch? The initial created
chunks were added here.
> 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)