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

ramkrishna.s.vasudevan commented on HBASE-18294:
------------------------------------------------

We were discussing internally on this.
bq.I plan to do an additional write-only experiment to count number of times we 
reach global pressure. The goal of the current patch is to reduce this number.
So the addition of offheap related new configs are also for that? As Anoop says 
yes we need to find if the selection of region was really happening on a region 
that had reached max heap space. May be since only data size is considered this 
region is not the actual region whose heap size (along with data) has reached 
the threshold.
Coming to the CCM case am not sure if we need to track the data and meta data 
as offheap meta data size seperately.
CCM indexing is a special feature and for that we need not expose a config at 
the HTD level. I saw that in the latest patch and not in the first patch in RB. 
{code}
    // Copy over all regions. Regions are sorted by size with biggest first.
    for (HRegion region : this.onlineRegions.values()) {
      sortedRegions.put(region.getMemStoreSize(), region);
    }
{code}
So this is where you see the problem because only data size is been fetched 
here and not the heap size.

> 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