[
https://issues.apache.org/jira/browse/HBASE-18010?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16028155#comment-16028155
]
Anastasia Braginsky commented on HBASE-18010:
---------------------------------------------
I have one more question regarding the ChunkCreator, when the chunks are
reclaimed we run the following code:
{code}
/**
* Add the chunks to the pool, when the pool achieves the max size, it will
skip the remaining
* chunks
* @param chunks
*/
private void putbackChunks(Set<Integer> chunks) {
int toAdd = Math.min(chunks.size(), this.maxCount -
reclaimedChunks.size());
Iterator<Integer> iterator = chunks.iterator();
while (iterator.hasNext()) {
Integer chunkId = iterator.next();
// remove the chunks every time though they are from the pool or not
Chunk chunk = ChunkCreator.this.removeChunk(chunkId);
if (chunk != null) {
if (chunk.isFromPool() && toAdd > 0) {
reclaimedChunks.add(chunk);
}
toAdd--;
}
}
}
{code}
Why do we remove the mapping of the chunks later added to the pool back again?
Those chunks can be used once again and their chunk ID maybe required...
> Connect CellChunkMap to be used for flattening in CompactingMemStore
> --------------------------------------------------------------------
>
> Key: HBASE-18010
> URL: https://issues.apache.org/jira/browse/HBASE-18010
> Project: HBase
> Issue Type: Sub-task
> Reporter: Anastasia Braginsky
>
> The CellChunkMap helps to create a new type of ImmutableSegment, where the
> index (CellSet's delegatee) is going to be CellChunkMap. No big cells or
> upserted cells are going to be supported here.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)