[
https://issues.apache.org/jira/browse/HBASE-18294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363845#comment-16363845
]
Eshcar Hillel commented on HBASE-18294:
---------------------------------------
Stack the barriers for the RS (global) level are more complicated than just a
single configuration property. It is some computation over parameters defined by
{color:#008000}hbase.regionserver.global.memstore.size{color}
{color:#008000}hbase.regionserver.global.memstore.size.lower.limit{color}
{color:#008000}hbase.regionserver.offheap.global.memstore.size{color}
DEFAULT_MEMSTORE_SIZE
DEFAULT_MEMSTORE_SIZE_LOWER_LIMIT
and some settings from hbase-env.sh
I think it deserves a separate documentation since this Jira did not change the
barriers computation but what we compare against them.
Regarding the comments on the code I changed the implementation of
getMemStoreSize to return region.getMemStoreDataSize() since that what was
eventually returned in the previous implementation. I then went and changed the
call from getMemStoreSize to getMemStoreOnHeapSize or getMemStoreOffHeapSize
based on what I though appropriate for the case.
If all is ok, I will commit later today.
> 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
> Priority: Major
> Fix For: 2.0.0-beta-2
>
> Attachments: HBASE-18294.01.patch, HBASE-18294.01.patch,
> HBASE-18294.01.patch, HBASE-18294.01.patch, HBASE-18294.01.patch,
> HBASE-18294.01.patch, HBASE-18294.01.patch, HBASE-18294.02.patch,
> HBASE-18294.03.patch, HBASE-18294.04.patch, HBASE-18294.05.patch,
> HBASE-18294.06.patch, HBASE-18294.07.patch, HBASE-18294.07.patch,
> HBASE-18294.08.patch, HBASE-18294.09.patch, HBASE-18294.10.patch,
> HBASE-18294.11.patch, HBASE-18294.11.patch, HBASE-18294.12.patch,
> HBASE-18294.13.patch, HBASE-18294.15.patch, HBASE-18294.16.patch,
> HBASE-18294.master.01.patch, HBASE-18294.master.01.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
(v7.6.3#76005)