[ 
https://issues.apache.org/jira/browse/HBASE-11598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephen Yuan Jiang updated HBASE-11598:
---------------------------------------
    Fix Version/s: 1.1.0

> Add simple rpc throttling
> -------------------------
>
>                 Key: HBASE-11598
>                 URL: https://issues.apache.org/jira/browse/HBASE-11598
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>            Priority: Minor
>             Fix For: 2.0.0, 1.1.0
>
>         Attachments: HBASE-11598-v0.patch, HBASE-11598-v1.patch, 
> HBASE-11598-v2.patch, HBASE-11598-v2.patch
>
>
> Add a simple version of rpc throttling.
> (by simple I mean something that requires less changes as possible to the 
> core)
> The idea is to add a hbase:quota table to store the user/table quota 
> information.
> Add a couple of API on the client like throttleUser() and throttleTable()
> and on the server side before executing the request we check the quota, if 
> not an exception is thrown.
> The quota will be per-machine. There will be a flag "QuotaScope" that will be 
> used in the future to specify the quota at "cluster level" instead of per 
> machine. (A limit of 100req/min means that each machine can execute 
> 100req/min with a scope per-machine).
> This will be the first cut, simple solution that requires verify few changes 
> to the core.
> Later on we can make the client aware of the ThrottlingException and deal 
> with it in a smarter way.
> Also we need to change a bit the RPC code to be able to yield the operation 
> if the quota will be 
> available not to far in the future, and avoid going back to the client for 
> "few seconds".
> REVIEW BOARD: https://reviews.apache.org/r/23981



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to