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