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