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

Duo Zhang commented on HBASE-16755:
-----------------------------------

And there is another minor reason why we set force to true is that, we select 
regions based on their total memstore size. If we do not flush all the contents 
in memstore, then the best candidate may not be the one which has the maximum 
memstore size.

Maybe we could introduce new methods in FlushPolicy to find out the lfushable 
size and select regions based on that value. Of course this is only a nice to 
have, can do it later if anyone has interest.

On the patch, as now we rely on the FlushPolicy to always return something to 
flush, maybe we should add some checks in the code? We may introduce new flush 
policies in the future. we need to make sure that they also follow the rule.

Thanks.

> Honor flush policy under global memstore pressure
> -------------------------------------------------
>
>                 Key: HBASE-16755
>                 URL: https://issues.apache.org/jira/browse/HBASE-16755
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: Ashu Pachauri
>            Assignee: Ashu Pachauri
>             Fix For: 1.3.1
>
>         Attachments: HBASE-16755.v0.patch
>
>
> When global memstore reaches the low water mark, we pick the best flushable 
> region and flush all column families for it. This is a suboptimal approach in 
> the  sense that it leads to an unnecessarily high file creation rate and IO 
> amplification due to compactions. We should still try to honor the underlying 
> FlushPolicy.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to