[ 
https://issues.apache.org/jira/browse/HBASE-11598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14081483#comment-14081483
 ] 

Jonathan Hsieh commented on HBASE-11598:
----------------------------------------

Another question: Is there a method to list the current quotas being applied?  

It seems clear in the long run, there will be a large variety of quota'ing 
parameters and options.  We should thus pick a user command syntax that is 
extensible to handle these new options and flags as they are added.

Here's one suggestion, let's maybe setup the quota setup similar to how cf's 
are specified and altered in rubyland.  Here's a strawman for a full set 
(though not all would be supported today)

userquota <user>, { QUOTA_SCOPE=> CLUSTER|RS|REGION, PER => 
USER|NAMESPACE|TABLE, RW=>R|W|RW, VALUE=>"xxxM/S", etc etc etc } 
namespacequota <ns> ....
tablequota <table> ....

removeuserquota
removenamespacequota
removetablequota 

listquotas
listuserquotas
listtablequotas
listnamespacequotas

This could probably expand to cover # of regions or region sizes, and other 
things 

> Add simple rpc throttling
> -------------------------
>
>                 Key: HBASE-11598
>                 URL: https://issues.apache.org/jira/browse/HBASE-11598
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>            Priority: Minor
>             Fix For: 1.0.0, 2.0.0
>
>
> 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.2#6252)

Reply via email to