Github user JamesRTaylor commented on a diff in the pull request: https://github.com/apache/phoenix/pull/295#discussion_r178935257 --- Diff: phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java --- @@ -2643,6 +2661,26 @@ public void upgradeSystemTables(final String url, final Properties props) throws metaConnection.setRunningUpgrade(true); try { metaConnection.createStatement().executeUpdate(QueryConstants.CREATE_TABLE_METADATA); + + // HBase Namespace SYSTEM is created by {@link ensureSystemTablesMigratedToSystemNamespace(ReadOnlyProps)} method + // This statement will create its entry in SYSCAT table, so that GRANT/REVOKE commands can work + // with SYSTEM Namespace. (See PHOENIX-4227 https://issues.apache.org/jira/browse/PHOENIX-4227) + if (SchemaUtil.isNamespaceMappingEnabled(PTableType.SYSTEM, + ConnectionQueryServicesImpl.this.getProps())) { --- End diff -- Inside of this block might be a good place to call ensureSystemTablesMigratedToSystemNamespace. We can treat this as an upgrade step in the 4.14 upgrade path.
---