Github user joshelser commented on a diff in the pull request: https://github.com/apache/phoenix/pull/277#discussion_r146902373 --- Diff: phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java --- @@ -2526,8 +2541,14 @@ private void createOtherSystemTables(PhoenixConnection metaConnection) throws SQ try { metaConnection.createStatement().execute(QueryConstants.CREATE_FUNCTION_METADATA); } catch (TableAlreadyExistsException ignore) {} + // We catch TableExistsException in createSysMutexTable() and ignore it. Hence we will also ignore IOException here. + // SYSTEM.MUTEX table should not be exposed to user. Hence it is directly created and used via HBase API. + // Using 'CREATE TABLE' statement will add entries to SYSTEM.CATALOG table, which should not happen. + try { + createSysMutexTable(hBaseAdmin, ConnectionQueryServicesImpl.this.getProps()); + } catch (IOException ignore) {} --- End diff -- What about the case where the table creation failed for a legitimate system reason (something an admin needs to correct)? We should at least have some warning to the user that we failed to created the table, right?
---