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

Anoop Sam John commented on HBASE-18294:
----------------------------------------

Ya as I said in above comments, we can continue to have decision for flush 
based on data size OR heap Size.   FOr on heap cases (which is the one what we 
have till now) there will be no differences at all.  Ya I agree to the concern 
that people will see diff wrt blocked writes and so overall throughput.  
For off heap there is no need to do so many separate accounting and configs.  
Because there also any way we will have heap size based checks. Data size based 
check is what mainly govern the flushes there. Because the whole work moves the 
heap overhead because of the data size to off heap area. I dont know why this 
is not acceptable.
bq.There are claims pro reducing memstore size like for reducing GC, but there 
are also claims pro increasing the size to reduce number of flushes, reduce 
number of compactions and reduce write amplification.
Ya that is what. You can not say faster flush is better always. It all depends 
on the global heap size available for the all regions.

My strong concern is against adding public APIs to set off heap flush size on 
heap flush size. We were having only flush size been configured by user. As 
every thing in on heap, we ended up deciding based on heap size.  That same can 
not be equated to exposing heap flush size (flushSize ) and off heap flush size 
now.

> Reduce global heap pressure: flush based on heap occupancy
> ----------------------------------------------------------
>
>                 Key: HBASE-18294
>                 URL: https://issues.apache.org/jira/browse/HBASE-18294
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 3.0.0
>            Reporter: Eshcar Hillel
>            Assignee: Eshcar Hillel
>         Attachments: HBASE-18294.01.patch, HBASE-18294.02.patch, 
> HBASE-18294.03.patch, HBASE-18294.04.patch, HBASE-18294.05.patch, 
> HBASE-18294.06.patch
>
>
> A region is flushed if its memory component exceed a threshold (default size 
> is 128MB).
> A flush policy decides whether to flush a store by comparing the size of the 
> store to another threshold (that can be configured with 
> hbase.hregion.percolumnfamilyflush.size.lower.bound).
> Currently the implementation (in both cases) compares the data size 
> (key-value only) to the threshold where it should compare the heap size 
> (which includes index size, and metadata).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to