[ https://issues.apache.org/jira/browse/PHOENIX-3174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15480207#comment-15480207 ]
James Taylor commented on PHOENIX-3174: --------------------------------------- So I think in this case you wouldn't have the no upgrade property, since the validation of what could be done would be at a lower level. You could add a new UPGRADE enum to PhoenixStatement.Operation, have the UpgradeStatement.getOperation() return it, and then add a check in this PhoenixStatement code: {code} protected boolean execute(final CompilableStatement stmt) throws SQLException { if (stmt.getOperation() != Operation.UPGRADE && !connection.isClientUpgraded()) { throw new UpgradeRequiredException(); } if (stmt.getOperation().isMutation()) { executeMutation(stmt); return false; } executeQuery(stmt); return true; } {code} > 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 > Attachments: PHOENIX-3174.patch, PHOENIX-3174_v2.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)