[
https://issues.apache.org/jira/browse/HBASE-28429?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ray Mattingly resolved HBASE-28429.
-----------------------------------
Resolution: Won't Fix
https://issues.apache.org/jira/browse/HBASE-28453 is a better solution
> Quotas should have a configurable minimum wait interval
> -------------------------------------------------------
>
> Key: HBASE-28429
> URL: https://issues.apache.org/jira/browse/HBASE-28429
> Project: HBase
> Issue Type: Improvement
> Reporter: Ray Mattingly
> Assignee: Ray Mattingly
> Priority: Major
>
> At my day job we're attempting to rollout read size throttling by default for
> thousands of distinct users across hundreds of multi-tenant clusters.
> During our rollout we've observed that throttles with a 1 second refill
> interval will yield relatively tiny wait intervals disproportionately often.
> From what we've seen, wait intervals are <=5ms on approximately 20-50% of our
> RpcThrottlingExceptions; this could sound theoretically promising if latency
> is your top priority. But, in reality, this makes it very difficult to
> configure a throttle tolerant HBase client because retries become very prone
> to near-immediate exhaustion, and throttled clients quickly saturate the
> cluster's RPC layer with rapid-fire retries.
> One can combat this with the FixedIntervalRateLimiter, but that's a very
> heavy handed approach from latency's perspective, and can still yield tiny
> intervals that exhaust retries and erroneously fail client operations under
> significant load.
> With this in mind, I'm proposing that we introduce a configurable minimum
> wait interval for quotas, defaulted to 0. This would make quotas much more
> usable at scale from our perspective.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)