[
https://issues.apache.org/jira/browse/HBASE-29351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated HBASE-29351:
-----------------------------------
Labels: pull-request-available (was: )
> Quotas: adaptive wait intervals
> -------------------------------
>
> Key: HBASE-29351
> URL: https://issues.apache.org/jira/browse/HBASE-29351
> Project: HBase
> Issue Type: Improvement
> Components: Quotas
> Reporter: Ray Mattingly
> Assignee: Ray Mattingly
> Priority: Major
> Labels: pull-request-available
>
> We've been using Quotas heavily at my day job, particularly user throttles.
> You can read more about our setup
> [here|https://product.hubspot.com/blog/hbase-share-resources].
> We have hundreds of clusters with a wide variety of usage patterns; we've
> found it difficult to find a `hbase.quota.rate.limiter.refill.interval.ms`
> that perfectly blends optimistic enough retries (to make fully utilizing the
> quota easy) and sufficiently pessimistic backoffs (to avoid hotspotting RPC
> layers with doomed retries) across the board and out-of-the-box.
> For some background, when a request is throttled our RateLimiters will return
> the backoff millis that must be waited in order for the RateLimiter to
> service the given request's estimated workload in a single threaded
> environment. This falls apart for two reasons: clients are rarely single
> threaded, and estimated workloads are often wrong.
> To make usage and configuration easier, I'm suggesting that we add support
> for "adaptive wait intervals" to the FixedIntervalRateLimiter. This would
> involve introducing a multiplier for the wait interval which grows when we
> throttle multiple times in a given refill interval, or shrinks when we go
> many refill intervals without throttling. The result would be wait interval
> suggestions that provide smarter backoffs designed to fully utilize, but not
> oversubscribe, the allowance.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)