[
https://issues.apache.org/jira/browse/PHOENIX-3757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16219445#comment-16219445
]
ASF GitHub Bot commented on PHOENIX-3757:
-----------------------------------------
Github user karanmehta93 commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/277#discussion_r146973010
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
---
@@ -3086,12 +3103,18 @@ private void restoreFromSnapshot(String tableName,
String snapshotName,
}
}
- void ensureSystemTablesUpgraded(ReadOnlyProps props)
+ void ensureSystemTablesMigratedToSystemNamespace(ReadOnlyProps props)
throws SQLException, IOException, IllegalArgumentException,
InterruptedException {
if (!SchemaUtil.isNamespaceMappingEnabled(PTableType.SYSTEM,
props)) { return; }
+
+ boolean acquiredMutexLock = false;
+ byte[] mutexRowKey = SchemaUtil.getTableKey(null,
PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA,
+ PhoenixDatabaseMetaData.SYSTEM_CATALOG_TABLE);
+
HTableInterface metatable = null;
try (HBaseAdmin admin = getAdmin()) {
- // Namespace-mapping is enabled at this point.
+ // SYSTEM namespace needs to be created via HBase API's
because "CREATE SCHEMA" statement tries to write its metadata
+ // in SYSTEM:CATALOG table. Without SYSTEM namespace,
SYSTEM:CATALOG table cannot be created.
--- End diff --
Thanks!
> 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: Karan Mehta
> Priority: Critical
> Labels: namespaces
> Fix For: 4.13.0
>
> Attachments: PHOENIX-3757.001.patch, PHOENIX-3757.002.patch,
> PHOENIX-3757.003.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.4.14#64029)