You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by Josh Elser <el...@apache.org> on 2019/08/06 17:56:31 UTC
Re: Phoenix Upgrade 4.7 to 4.14 - Cannot use Phoenix
Looks like this is a bug in the system table upgrade code path which
doesn't handle the jump from 4.7 to 4.14 correctly. This big of a
version jump is not tested/supported in Apache.
Does CLABS give you a guarantee that this will work? It would likely be
good to contact Cloudera support if you need help on this.
On 7/28/19 10:10 PM, Alexander Lytchier wrote:
> Hi,
>
> Following an update of Cloudera Manager and CDH from 5.7 to 5.14, and
> Phoenix from 4.7.0 (CLABS) to 4.14.0, sqlline.py is no longer working.
>
> Apart from the upgrade of Phoenix I also created the table
> /SYSTEM.MUTEX/ in HBase since it’s not used in 4.7.0, based on
> http://apache-phoenix-user-list.1124778.n5.nabble.com/Error-upgrading-from-from-4-7-x-to-4-13-x-td4210.html
>
> $ ./sqlline.py localhost:2181:/hbase
>
> Setting property: [incremental, false]
>
> Setting property: [isolation, TRANSACTION_READ_COMMITTED]
>
> issuing: !connect jdbc:phoenix:localhost:2181:/hbase none none
> org.apache.phoenix.jdbc.PhoenixDriver
>
> Connecting to jdbc:phoenix:localhost:2181:/hbase
>
> SLF4J: Class path contains multiple SLF4J bindings.
>
> SLF4J: Found binding in
> [jar:file:/opt/cloudera/parcels/APACHE_PHOENIX-4.14.0-cdh5.14.2.p0.3/lib/phoenix/phoenix-4.14.0-cdh5.14.2-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>
> SLF4J: Found binding in
> [jar:file:/opt/cloudera/parcels/CDH-5.14.4-1.cdh5.14.4.p0.3/jars/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.
>
> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
>
> 19/07/26 17:40:07 WARN util.NativeCodeLoader: Unable to load
> native-hadoop library for your platform... using builtin-java classes
> where applicable
>
> 19/07/26 17:40:32 WARN query.ConnectionQueryServicesImpl: Starting
> restore of SYSTEM.CATALOG using snapshot
> SNAPSHOT_SYSTEM.CATALOG_4.7.x_TO_4.14.0_20190726174011 because upgrade
> failed
>
> 19/07/26 17:40:37 WARN query.ConnectionQueryServicesImpl: Successfully
> restored SYSTEM.CATALOG using snapshot
> SNAPSHOT_SYSTEM.CATALOG_4.7.x_TO_4.14.0_20190726174011
>
> 19/07/26 17:40:42 WARN query.ConnectionQueryServicesImpl: Successfully
> restored and enabled SYSTEM.CATALOG using snapshot
> SNAPSHOT_SYSTEM.CATALOG_4.7.x_TO_4.14.0_20190726174011
>
> Error: ERROR 1012 (42M03): Table undefined. tableName=MYTABLE
> (state=42M03,code=1012)
>
> org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03):
> Table undefined. tableName=MYTABLE
>
> at
> org.apache.phoenix.compile.FromCompiler$BaseColumnResolver.createTableRef(FromCompiler.java:577)
>
> at
> org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.<init>(FromCompiler.java:391)
>
> at
> org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.<init>(FromCompiler.java:383)
>
> at
> org.apache.phoenix.compile.FromCompiler.getResolver(FromCompiler.java:263)
>
> at
> org.apache.phoenix.compile.CreateIndexCompiler.compile(CreateIndexCompiler.java:50)
>
> at
> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateIndexStatement.compilePlan(PhoenixStatement.java:1073)
>
> at
> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateIndexStatement.compilePlan(PhoenixStatement.java:1059)
>
> at
> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:401)
>
> at
> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:391)
>
> at
> org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
>
> at
> org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:389)
>
> at
> org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:378)
>
> at
> org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1825)
>
> at
> org.apache.phoenix.util.UpgradeUtil.upgradeLocalIndexes(UpgradeUtil.java:456)
>
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.upgradeSystemCatalogIfRequired(ConnectionQueryServicesImpl.java:2899)
>
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.upgradeSystemTables(ConnectionQueryServicesImpl.java:3050)
>
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2584)
>
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2491)
>
> at
> org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76)
>
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2491)
>
> at
> org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:255)
>
> at
> org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:150)
>
> at
> org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:221)
>
> 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)
>
> sqlline version 1.2.0
>
>
> I have a table /MyTable/ in HBase, and I had a /view/ of the HBase table
> in Phoenix before the upgrade.
>
> Any suggestions?
>
> Thanks,
>