[
https://issues.apache.org/jira/browse/HBASE-21455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16814290#comment-16814290
]
Pankaj Kumar commented on HBASE-21455:
--------------------------------------
{quote}I wonder if this issue exists beyond just the namespace.
{quote}
Currently setting quota is allowed for non-existing entities (table, namespace
or user).
{quote}Open-ended question: are we sure we want to allow configuring quotas on
entities that don't exist?
{quote}
There is a flexibility of retaining quota for the deleted table & namespace if
hbase.quota.remove.on.table.delete set to false. However other system table
like ACL doesn't allow acl setting for non-existing table/namespace and
respective acl settings are cleared on table/namespace deletion. Therefore
quota and ACL setting behaviour is not similar.
Following approach can be adopted,
# Treat quota as a special table. Current behavior is fine, let it be flexible
ie. allow quota setting for non-existing entities also, as we have provision of
retaining quota for deleted table/namespace.
# Restrict quota setting for non-existing entities and mandate the cleanup on
table/namespace deletion, no need to make MasterQuotasObserver configurable.
# Allow quota setting for non-existing entities based on the configuration.
[~elserj], please provide your opinion.
> Update filesystem-space quota fail if there is a space quota for non-existing
> namespace
> ---------------------------------------------------------------------------------------
>
> Key: HBASE-21455
> URL: https://issues.apache.org/jira/browse/HBASE-21455
> Project: HBase
> Issue Type: Bug
> Affects Versions: 2.0.2
> Reporter: wenbang
> Assignee: wenbang
> Priority: Major
> Fix For: 3.0.0
>
> Attachments: HBASE-21455.master.001.patch,
> HBASE-21455.master.002.patch, HBASE-21455.master.003.patch,
> HBASE-21455.master.004.patch
>
>
> QuotaObserverChore#fetchAllTablesWithQuotasDefined may fail and throw a
> NamespaceNotFoundException because of namespace does not exist
> {code:java}
> // Collect all of the tables in the namespace
> TableName[] tablesInNS =
> conn.getAdmin().listTableNamesByNamespace(namespace);
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)