[ https://issues.apache.org/jira/browse/PHOENIX-3174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15494978#comment-15494978 ]
James Taylor commented on PHOENIX-3174: --------------------------------------- Looks really good, [~samarthjain]. Here's some feedback: - Given that we plan to cut an RC for 4.8.1 very soon (on Monday), I think we should put this only in 4.9.0 (i.e. 4.x and master branches) - Did you get a chance to manually test that server-side tracing continues to work when we have a newer server with an older client? - I think it'd be good to start a DISCUSS thread pointing people to this JIRA to see if folks think perhaps the default should be to manually upgrade - I think we should keep the {{if not exists}} here, only because there's a small race condition on the table creation. If we're not yet upgraded, it won't make a difference - you'll still get the error. {code} private void createTable(Connection conn, String table) throws SQLException { // only primary-key columns can be marked non-null String ddl = - "create table if not exists " + table + "( " + + "create table " + table + "( " + {code} - Minor nit, but couldn't this be written more simply like this? {code} + private boolean traceTableExists(Connection conn, String traceTableName) throws SQLException { + try { + PhoenixRuntime.getTable(conn, traceTableName); + return true; + } catch (TableNotFoundException e) { + return false; + } + } {code} +1 apart from those minor comments. > Make minor upgrade a manual step > -------------------------------- > > Key: PHOENIX-3174 > URL: https://issues.apache.org/jira/browse/PHOENIX-3174 > Project: Phoenix > Issue Type: Bug > Reporter: James Taylor > Assignee: Samarth Jain > Fix For: 4.9.0, 4.8.1 > > Attachments: PHOENIX-3174.patch, PHOENIX-3174_v2.patch, > PHOENIX-3174_v3_master.patch > > > Instead of automatically performing minor release upgrades to system tables > in an automated manner (on first connection), we should make upgrade a > separate manual step. If a newer client attempts to connect to a newer server > without the upgrade step having occurred, we'd fail the connection. > Though not as automated, this would give users more control and visibility > into when an upgrade over system tables occurs. -- This message was sent by Atlassian JIRA (v6.3.4#6332)