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

Francis Liu commented on HBASE-8015:
------------------------------------

I thought of a way to implement [~sershe] idea. It was simple enough so I 
thought I'd give it a try. Essentially keep an in-memory list of tables which 
make use of the delimiter (ie '.') and consider these tables as exceptions to 
the namespace rule and handle them properly to make sure they are part of the 
default namespace. Have an added constraint that prevent creation of namespaces 
and tables that would conflict with any of the exception tables (ie ns1 and 
ns1.foo).

Surprise here is:
- you can't create tables with the delimiter no longer unless you create the 
appropriate namespace.  
- you can't create tables/namespace which conflict the exception 
tables/namespaces
- the exception list is derived by scanning the default namespace directories 
in .tmp, .data and .archive

Here's a sample of how it works. I've updated the TestNamespaceUpgrade test to 
verify that it works:
https://github.com/francisliu/hbase_namespace/tree/core_8408_exception_list
                
> Support for Namespaces
> ----------------------
>
>                 Key: HBASE-8015
>                 URL: https://issues.apache.org/jira/browse/HBASE-8015
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Francis Liu
>            Assignee: Francis Liu
>         Attachments: HBASE-8015_draft_94.patch, Namespace Design.pdf
>
>


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

Reply via email to