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

Ankit Singhal commented on PHOENIX-3757:
----------------------------------------

bq.  A little odd as we need to create this table after the namespace is 
created but before we upgrade the tables (as that process is what moves them 
around).
We should be creating mutex table in right namespace and doesn't need to rely 
on process of upgrading namespace tables as it doesn't have any meta data in 
SYSTEM.CATALOG table, 

* I think you may need to update following methods too:-
{code}
ConnectionQueryServicesImpl#releaseUpgradeMutex
ConnectionQueryServicesImpl#acquireUpgradeMutex
{code}

* it seems SYSTEM:MUTEX is needed during update of meta tables only , so how 
about moving createSysMutexTable() in upgradeSystemTables() and avoid this 
check:-
{code}
+
+            try {
+                // Create the mutex table if it doesn't already exist
+                // so that it will be moved into the SYSTEM namespace if 
necessary
+                createSysMutexTable(admin, props);
+            } catch (IOException e) {
+                // 1) SYSTEM:MUTEX does not exist, we couldn't create 
SYSTEM.MUTEX. We will fail
+                //    later when we try to access the table
+                // 2) SYSTEM:MUTEX does exist, it was OK we couldn't make 
SYSTEM.MUTEX. Pass.
+            }
{code}

> System mutex table not being created in SYSTEM namespace when namespace 
> mapping is enabled
> ------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-3757
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3757
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>            Priority: Critical
>             Fix For: 4.11.0
>
>         Attachments: PHOENIX-3757.001.patch, PHOENIX-3757.002.patch
>
>
> Noticed this issue while writing a test for PHOENIX-3756:
> The SYSTEM.MUTEX table is always created in the default namespace, even when 
> {{phoenix.schema.isNamespaceMappingEnabled=true}}. At a glance, it looks like 
> the logic for the other system tables isn't applied to the mutex table.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to