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