[
https://issues.apache.org/jira/browse/PHOENIX-4579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16424813#comment-16424813
]
ASF GitHub Bot commented on PHOENIX-4579:
-----------------------------------------
Github user JamesRTaylor commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/295#discussion_r179000414
--- 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 --
If autoUpgrade is enabled, we don't want the user to have to run EXECUTE
UPGRADE. Move the creation of the namespace to ensureTableCreated if necessary
(but keep the ensureSystemTablesMigratedToSystemNamespace logic in
upgradeSystemTables). Let's have a test for this too.
I think it'd be better to have the acquireUpgradeMutex only in
upgradeSystemTables so we only do this once. We can acquire it before calling
ensureSystemTablesMigratedToSystemNamespace.
> Add a config to conditionally create Phoenix meta tables on first client
> connection
> -----------------------------------------------------------------------------------
>
> Key: PHOENIX-4579
> URL: https://issues.apache.org/jira/browse/PHOENIX-4579
> Project: Phoenix
> Issue Type: New Feature
> Reporter: Mujtaba Chohan
> Assignee: Chinmay Kulkarni
> Priority: Major
> Attachments: PHOENIX-4579.patch
>
>
> Currently we create/modify Phoenix meta tables on first client connection.
> Adding a property to make it configurable (with default true as it is
> currently implemented).
> With this property set to false, it will avoid lockstep upgrade requirement
> for all clients when changing meta properties using PHOENIX-4575 as this
> property can be flipped back on once all the clients are upgraded.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)