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

Eshcar Hillel commented on HBASE-18294:
---------------------------------------

We are back to a ``fat'' patch, so here is a summary of major changes w.r.t. 
master:
- MemStoreSize and MemStoreSizing now manage three counters (1) data size (2) 
heap size (3) off heap size,
- FlushLargeStorePolicy::shouldFlush(), HRegion::checkResources(), 
HRegion::isFlushSize() and HRegion::requestFlushIfNeeded() check both heap size 
and off heap size against their (heap and off-heap) bounds,
- RegionServerAccounting manages 3 counters (off-heap size is added), 
RegionServerAccounting::isAboveHighWaterMark(), 
RegionServerAccounting::isAboveLowWaterMark(), and 
RegionServerAccounting::getFlushPressure() compare on-heap and off-heap sizes 
to their bounds,
- ByteBufferKeyValue::heapSize() always considers key-value length.

Patch is also in RB.

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

Reply via email to