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,