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

Reply via email to