[
https://issues.apache.org/jira/browse/HBASE-29573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Charles Connell updated HBASE-29573:
------------------------------------
Release Note: Each RegionServer now always caches the full contents of the
hbase:quota table. If you have a very large quota table, this could cause
excessive memory usage. (was: Each RegionServer now always caches the full
contents of the hbase:quota table. If you have a very large quota table, this
could cause excessive memory usage.
On each refresh, a RegionServer's quota cache will reset its quota usage
tracking. This means that if a user was approaching their quota limit, that
will be forgotten and they will get a empty quota limiter all over again. For
quotas defined over long time intervals, this could be a meaningful difference.
As a reminder, the default quota cache refresh interval is 12 hours.)
> Fully load QuotaCache instead of reading individual rows on demand
> ------------------------------------------------------------------
>
> Key: HBASE-29573
> URL: https://issues.apache.org/jira/browse/HBASE-29573
> Project: HBase
> Issue Type: Improvement
> Reporter: Charles Connell
> Assignee: Charles Connell
> Priority: Minor
> Labels: pull-request-available
>
> I've found that HBASE-29479 will, in practice, increase load on the quota
> table quite a bit. While it achieved its goal of quota correctness, this
> increase in load is an unacceptable downside.
> In response, I'd like to find a way for QuotaCache to always serve correct
> quotas, and also keep load on the quota table low. There is a simple way to
> do this, which is to simply scan the entire table into memory at startup,
> again when quotas change, plus every refresh interval. This also simplifies
> the QuotaCache.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)