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

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

TestClientPushback is a flaky test, sometimes passes sometimes fails; I am not 
sure if its failure is related to this patch.

In the test the load of the region is calculated by asking the region for its 
heap size, and there is a comment above the calculation saying 
{color:#808080}"get the current load on RS. Hopefully memstore isn't flushed 
since we wrote the the data"{color} {color:#333333}(Hopefully ??!?), then this 
load is compared against the stats returned from the server and if they are not 
equal the test fails. The comment says "{color}{color:#808080}check to see we 
found some load on the memstore"{color}{color:#333333}  I guess it was meant to 
be "same load" but in some cases a flush causes the 
difference.{color}{color:#808080}
{color}

{color:#333333}It could be that due to this patch the memstore is flushed 
earlier than before and so the test fails more frequently, but it seems to be 
unreasonable to *hope* for no flush during the test.{color}

{color:#333333}My solution was simply to double the flush size for this test. 
Any other more elegant suggestions for handling this?{color}

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

Reply via email to