Ray Mattingly created HBASE-29231:
-------------------------------------

             Summary: Throttles should support limits based on handler thread 
usage time
                 Key: HBASE-29231
                 URL: https://issues.apache.org/jira/browse/HBASE-29231
             Project: HBase
          Issue Type: Improvement
            Reporter: Ray Mattingly
            Assignee: Ray Mattingly


We can reference RpcCall#getStartTime when closing quotas to determine the 
processing time of any given operation.

With this information, we could start throttling users based on the aggregate 
processing time of all of their requests — this could be a solid last line of 
defense for workloads that are deceptively expensive, and would make throttle 
configuration feel less like whack-a-mole.

For example, let's say you run RegionServers with 100 handler threads. This 
means that, in any given second, you have 100,000 millis of handler thread time 
to spend on all of the workloads against your cluster. It could be great to 
restrict certain workloads to some smaller proportion of that time, so that you 
can guarantee there will always be processing time dedicated to other workloads.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to