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

Stephen Yuan Jiang commented on HBASE-13212:
--------------------------------------------

[~enis], HBASE-14212 is created for adding IT for NS DDLs.  

We don't need shared NS lock in create table.  In the race conditions scenario 
you mentioned - create table DDL while delete namespace (or rollback create 
namespace) DDL happens at the same time, if both of them pass the pre-condition 
check (ensureNamespaceExists() is true and no more tables in the namespace).  
During the procedure execution step, either {{the creation of the table would 
fail trying to creating table directory (because the namespace directory does 
not exist)}} or {{the deletion of namespace would fail trying to deleting the 
namespace directory (because it contains table directory)}} - not beautiful 
(because it fails in the middle of procedure and triggered the unhappy rollback 
path), but we will not create a-table-in-a-non-existing namespace corruption.

Note: due to low frequency of deleting namespace, the chance that we see this 
race condition is very low.  

> Procedure V2 - master Create/Modify/Delete namespace
> ----------------------------------------------------
>
>                 Key: HBASE-13212
>                 URL: https://issues.apache.org/jira/browse/HBASE-13212
>             Project: HBase
>          Issue Type: Sub-task
>          Components: master
>    Affects Versions: 2.0.0
>            Reporter: Stephen Yuan Jiang
>            Assignee: Stephen Yuan Jiang
>              Labels: reliability
>         Attachments: HBASE-13212.v1-master.patch, HBASE-13212.v2-master.patch
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> master side, part of HBASE-12439
> starts up the procedure executor on the master
> and replaces the create/modify/delete namespace handlers with the procedure 
> version.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to