[
https://issues.apache.org/jira/browse/PHOENIX-3432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15629655#comment-15629655
]
James Taylor commented on PHOENIX-3432:
---------------------------------------
+1. Thanks, [~samarthjain].
> Upgrade Phoenix 4.8.0 to 4.9.0 failed
> -------------------------------------
>
> Key: PHOENIX-3432
> URL: https://issues.apache.org/jira/browse/PHOENIX-3432
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.8.0
> Environment: HBase 1.1.7, Phoenix 4.9.0 RC0
> Reporter: YoungWoo Kim
> Assignee: Samarth Jain
> Fix For: 4.9.0, 4.8.2
>
> Attachments: PHOENIX-3432.patch, PHOENIX-3432_v2.patch
>
>
> Trying to upgrade 4.8.0 to 4.9.0, I did stop the all hbase services and
> upgraded Phoenix binary to 4.9.0 RC0 and then, restarted hbase services.
> actually I'm trying automatic upgrade using sqlline but it does not works as
> I expected.
> {noformat}
> 16/11/02 09:53:03 WARN query.ConnectionQueryServicesImpl: Successfully
> enabled SYSTEM:CATALOG after restoring using snapshot
> SNAPSHOT_SYSTEM:CATALOG_4.8.x_TO_4.9.0_20161102095256+0900 failed.
> Error: java.lang.IllegalArgumentException: Illegal character code:58, <:> at
> 15. Snapshot qualifiers can only contain 'alphanumeric characters': i.e.
> [a-zA-Z_0-9-.]: SNAPSHOT_SYSTEM:CATALOG_4.8.x_TO_4.9.0_20161102095256+0900
> (state=,code=0)
> java.sql.SQLException: java.lang.IllegalArgumentException: Illegal character
> code:58, <:> at 15. Snapshot qualifiers can only contain 'alphanumeric
> characters': i.e. [a-zA-Z_0-9-.]:
> SNAPSHOT_SYSTEM:CATALOG_4.8.x_TO_4.9.0_20161102095256+0900
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.createSnapshot(ConnectionQueryServicesImpl.java:2843)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.upgradeSystemTables(ConnectionQueryServicesImpl.java:2524)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2427)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2361)
> at
> org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2361)
> 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.connect(Commands.java:1064)
> at sqlline.Commands.connect(Commands.java:996)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:809)
> at sqlline.SqlLine.initArgs(SqlLine.java:588)
> at sqlline.SqlLine.begin(SqlLine.java:661)
> at sqlline.SqlLine.start(SqlLine.java:398)
> at sqlline.SqlLine.main(SqlLine.java:291)
> Caused by: java.lang.IllegalArgumentException: Illegal character code:58, <:>
> at 15. Snapshot qualifiers can only contain 'alphanumeric characters': i.e.
> [a-zA-Z_0-9-.]: SNAPSHOT_SYSTEM:CATALOG_4.8.x_TO_4.9.0_20161102095256+0900
> at
> org.apache.hadoop.hbase.TableName.isLegalTableQualifierName(TableName.java:196)
> at
> org.apache.hadoop.hbase.TableName.isLegalTableQualifierName(TableName.java:154)
> at
> org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils.assertSnapshotRequestIsValid(ClientSnapshotDescriptionUtils.java:42)
> at
> org.apache.hadoop.hbase.client.HBaseAdmin.takeSnapshotAsync(HBaseAdmin.java:3568)
> at
> org.apache.hadoop.hbase.client.HBaseAdmin.snapshot(HBaseAdmin.java:3516)
> at
> org.apache.hadoop.hbase.client.HBaseAdmin.snapshot(HBaseAdmin.java:3474)
> at
> org.apache.hadoop.hbase.client.HBaseAdmin.snapshot(HBaseAdmin.java:3393)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.createSnapshot(ConnectionQueryServicesImpl.java:2839)
> ... 22 more
> Error: org.apache.hadoop.hbase.snapshot.RestoreSnapshotException: Unable to
> find the table name for
> snapshot=SNAPSHOT_SYSTEM:CATALOG_4.8.x_TO_4.9.0_20161102095256+0900
> (state=,code=0)
> java.sql.SQLException:
> org.apache.hadoop.hbase.snapshot.RestoreSnapshotException: Unable to find the
> table name for
> snapshot=SNAPSHOT_SYSTEM:CATALOG_4.8.x_TO_4.9.0_20161102095256+0900
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.restoreFromSnapshot(ConnectionQueryServicesImpl.java:2882)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.upgradeSystemTables(ConnectionQueryServicesImpl.java:2816)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2427)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2361)
> at
> org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2361)
> 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.connect(Commands.java:1064)
> at sqlline.Commands.connect(Commands.java:996)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:809)
> at sqlline.SqlLine.initArgs(SqlLine.java:588)
> at sqlline.SqlLine.begin(SqlLine.java:661)
> at sqlline.SqlLine.start(SqlLine.java:398)
> at sqlline.SqlLine.main(SqlLine.java:291)
> Caused by: org.apache.hadoop.hbase.snapshot.RestoreSnapshotException: Unable
> to find the table name for
> snapshot=SNAPSHOT_SYSTEM:CATALOG_4.8.x_TO_4.9.0_20161102095256+0900
> at
> org.apache.hadoop.hbase.client.HBaseAdmin.restoreSnapshot(HBaseAdmin.java:3707)
> at
> org.apache.hadoop.hbase.client.HBaseAdmin.restoreSnapshot(HBaseAdmin.java:3654)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.restoreFromSnapshot(ConnectionQueryServicesImpl.java:2877)
> ... 22 more
> sqlline version 1.2.0
> {noformat}
> One thing to note here, We are using namespace mapping:
> {code}
> <property>
> <name>phoenix.schema.isNamespaceMappingEnabled</name>
> <value>true</value>
> </property>
> {code}
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)