[ 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