Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id DA2B8200BC1 for ; Wed, 2 Nov 2016 06:11:08 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id D8CBD160B0C; Wed, 2 Nov 2016 05:11:08 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 113FF160B0A for ; Wed, 2 Nov 2016 06:11:07 +0100 (CET) Received: (qmail 86598 invoked by uid 500); 2 Nov 2016 05:09:22 -0000 Mailing-List: contact dev-help@phoenix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@phoenix.apache.org Delivered-To: mailing list dev@phoenix.apache.org Received: (qmail 84400 invoked by uid 99); 2 Nov 2016 05:05:59 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Nov 2016 05:05:59 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id D7E662C0D55 for ; Wed, 2 Nov 2016 05:05:58 +0000 (UTC) Date: Wed, 2 Nov 2016 05:05:58 +0000 (UTC) From: "James Taylor (JIRA)" To: dev@phoenix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (PHOENIX-3432) Upgrade Phoenix 4.8.0 to 4.9.0 failed MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 02 Nov 2016 05:11:09 -0000 [ https://issues.apache.org/jira/browse/PHOENIX-3432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15627503#comment-15627503 ] James Taylor edited comment on PHOENIX-3432 at 11/2/16 5:05 AM: ---------------------------------------------------------------- [~samarthjain] - can you take a look? It looks like the snapshot name cannot contain ':' characters which you'd have if namespaces are enabled. We have a utility function that'll go from the HBase table name to the Phoenix table name, I believe. Or we can just hardcode the name as the snapshot will always be for SYSTEM.CATALOG. was (Author: jamestaylor): [~samarthjain] - can you take a look? > 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 > > 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} > > phoenix.schema.isNamespaceMappingEnabled > true > > {code} > -- This message was sent by Atlassian JIRA (v6.3.4#6332)