You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Samarth Jain (JIRA)" <ji...@apache.org> on 2016/09/10 06:30:23 UTC
[jira] [Updated] (PHOENIX-3174) Make minor upgrade a manual step
[ https://issues.apache.org/jira/browse/PHOENIX-3174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Samarth Jain updated PHOENIX-3174:
----------------------------------
Attachment: PHOENIX-3174.patch
Patch that provides the capability to prevent auto-upgrade from running whenever a new client connects to the cluster. Auto upgrade can be disabled in two ways:
1) On phoenix connection set NoUpgrade property to true.
2) In client side hbase-site.xml set phoenix.autoupgrade.disable to true (false by default).
When a new client tries to connect with any of the two properties and the upgrade hasn't been done yet, then he/she is thrown the following error:
{code}
Error: Connection not allowed! Cluster first needs to be upgraded from 4.7.x to 4.8.x. Please reconnect with a connection that doesn't have PhoenixRuntime.NO_UPGRADE_ATTRIB property set. Alternatively, you can set phoenix.autoupgrade.disabled to false as a global property for phoenix connections in the client side hbase-site.xml. (state=INT13,code=2011)
org.apache.phoenix.query.ConnectionQueryServicesImpl$UpgradeRequiredException: Connection not allowed! Cluster first needs to be upgraded from 4.7.x to 4.8.x. Please reconnect with a connection that doesn't have PhoenixRuntime.NO_UPGRADE_ATTRIB property set. Alternatively, you can set phoenix.autoupgrade.disabled to false as a global property for phoenix connections in the client side hbase-site.xml.
at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2468)
at org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2267)
at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78)
at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2267)
at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:232)
at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:147)
at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:202)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
at sqlline.Commands.close(Commands.java:906)
at sqlline.Commands.quit(Commands.java:870)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36)
at sqlline.SqlLine.dispatch(SqlLine.java:803)
at sqlline.SqlLine.begin(SqlLine.java:681)
at sqlline.SqlLine.start(SqlLine.java:398)
at sqlline.SqlLine.main(SqlLine.java:292)
{code}
The patch also introduces a new phoenix connection property - UpgradeUtil.NO_AUTO_UPGRADE_ATTRIB_INTERNAL that should be used by internal phoenix code when no upgrade connections are needed.
[~jamestaylor], please review.
> 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
>
>
> 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)