Github user twdsilva commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/313#discussion_r206737372
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
---
@@ -2723,13 +2712,10 @@ private void
createOtherSystemTables(PhoenixConnection metaConnection, HBaseAdmi
try {
metaConnection.createStatement().executeUpdate(getChildLinkDDL());
} catch (TableAlreadyExistsException e) {}
- // Catch the IOException to log the error message and then bubble
it up for the client to retry.
try {
- createSysMutexTableIfNotExists(hbaseAdmin);
- } catch (IOException exception) {
- logger.error("Failed to created SYSMUTEX table. Upgrade or
migration is not possible without it. Please retry.");
- throw exception;
- }
+ metaConnection.createStatement().executeUpdate(getMutexDDL());
--- End diff --
The mutex table would have been created by
createSysMutexTableIfNotExists(), we call execute the CREATE TABLE statement so
that it exists in SYSTEM.CATALOG, so that we can use GRANT/REVOKE to grant
permission on the SYSTEM.MUTEX table.
---