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!


---

Reply via email to