[ 
https://issues.apache.org/jira/browse/HBASE-14920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15245390#comment-15245390
 ] 

Eshcar Hillel commented on HBASE-14920:
---------------------------------------

Working on the patch.
Following some recent benchmarks we came to understand that a compacting store 
(now under the more general name of sloppy stores)  has benefit even without 
getting more memstore space.
The benefit is in delaying the flush to disk, reducing the write amplification 
effect by writing bigger files, writing them less frequently, thereby reducing 
the overall IO in the underlying hdfs.
This means that in the size of the memstore is not increased.
We decided to keep the new flush policy which favors sloppy stores over regular 
stores, namely selects regular (default) stores to be flushed first and only 
flushes sloppy stores when it has no other potions.
We believe this is good enough to be able to benefit from having a compacting 
store.

[~stack] you suggested removing the executor service from HRegionServer.
Here is an alternative - do the same as CompactSplitThread. 
We can have a ThreadPoolExecutor as an attribute of RegionServicesForStores, 
then in-memory compaction is executed by submitting a an 
inmemory-flush-and-compaction-runnable to this pool.
How do you like this solution? Better than the current?

> Compacting Memstore
> -------------------
>
>                 Key: HBASE-14920
>                 URL: https://issues.apache.org/jira/browse/HBASE-14920
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Eshcar Hillel
>            Assignee: Eshcar Hillel
>         Attachments: HBASE-14920-V01.patch, HBASE-14920-V02.patch, 
> move.to.junit4.patch
>
>
> Implementation of a new compacting memstore with non-optimized immutable 
> segment representation



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to