[
https://issues.apache.org/jira/browse/HBASE-14613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14968181#comment-14968181
]
Enis Soztutar commented on HBASE-14613:
---------------------------------------
Nice analysis.
Would it help to simplify the code by abstracting the Allocator interface and
have an Allocator always on? A pooling heap allocator will be current
MemStoreChunkPool while a HeapAllocator just allocates from heap. This was we
will still have the ref counting injection points, but no more null checks all
over the code. Then we can look into how we can default to pooling allocator.
bq. Could then set the pool to be this size. But, we need to have a pool that
can grow and shrink. There is the ergonomic resize of the memstore that will
resize memstore if we are doing many more writes than reads. The pool should
adjust accordingly
The pool's max size should be always the (memstore limit - total memstore size)
/ chunkSize
> Remove MemStoreChunkPool?
> -------------------------
>
> Key: HBASE-14613
> URL: https://issues.apache.org/jira/browse/HBASE-14613
> Project: HBase
> Issue Type: Brainstorming
> Reporter: Lars Hofhansl
> Priority: Minor
> Attachments: 14613-0.98.txt, gc.png, writes.png
>
>
> I just stumbled across MemStoreChunkPool. The idea behind is to reuse chunks
> of allocations rather than letting the GC handle this.
> Now, it's off by default, and it seems to me to be of dubious value. I'd
> recommend just removing it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)