[
https://issues.apache.org/jira/browse/HBASE-8410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13694401#comment-13694401
]
Ted Yu commented on HBASE-8410:
-------------------------------
For NamespaceController, please add class javadoc and audience annotation.
{code}
+ zkManager = new ZKNamespaceManager(zk);
+ zkManager.start();
{code}
I saw the following in TableNamespaceManager:
{code}
+ zkNamespaceManager = new ZKNamespaceManager(masterServices.getZooKeeper());
+ zkNamespaceManager.start();
{code}
So we may have more than one ZKNamespaceManager running in the same JVM ?
The spacing is slightly off: two spaces should be used per indentation.
{code}
+ maxRegions = Long.parseLong(value);
+ } catch (NumberFormatException exp) {
+ throw new ConstraintException("NumberFormatException while getting max
regions.", exp);
{code}
Please include value in exception message.
{code}
+ currentStatus =
getNamespaceQuota(ctx.getEnvironment().getConfiguration(),
+ nspdesc.getName());
{code}
I think there should be a better name for getNamespaceQuota because quota
should be the setting governing the namespace which is different from the
current status for the underlying namespace.
I wonder if using table and region count is a good way for enforcing quota
because the underlying region size can vary.
{code}
+ + " is not allowed to have " + regions.length
+ + " number of regions. The total number of regions permitted are
only "
{code}
Remove 'number of '. 'permitted are only' -> 'permitted is only'.
For class NamespaceQuota, please add javadoc and audience annotation. I think
the class should be renamed because it reflects the status of a namespace, not
its quota.
> Basic quota support for namespaces
> ----------------------------------
>
> Key: HBASE-8410
> URL: https://issues.apache.org/jira/browse/HBASE-8410
> Project: HBase
> Issue Type: Sub-task
> Reporter: Francis Liu
> Assignee: Vandana Ayyalasomayajula
> Attachments: HBASE_8410.patch
>
>
> This task involves creating an observer which provides basic quota support to
> namespaces in terms of (1) number of tables and (2) number of regions. The
> quota support can be enabled by setting:
> <property>
> <name>hbase.coprocessor.region.classes</name>
> <value>org.apache.hadoop.hbase.namespace.NamespaceController</value>
> </property>
> <property>
> <name>hbase.coprocessor.master.classes</name>
> <value>org.apache.hadoop.hbase.namespace.NamespaceController</value>
> </property>
> in the hbase-site.xml.
> To add quotas to namespace, while creating namespace properties need to be
> added.
> Examples:
> 1. namespace_create 'ns1', {'hbase.namespace.quota.maxregion'=>'10'}
> 2. 1. namespace_create 'ns2', {'hbase.namespace.quota.maxtables'=>'2'},
> {'hbase.namespace.quota.maxregion'=>'5'}
> The quotas can be modified/added to namespace at any point of time.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira