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

Reply via email to