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