Ray Mattingly created HBASE-28429: ------------------------------------- Summary: 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
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)