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

Reply via email to