[ https://issues.apache.org/jira/browse/PHOENIX-5606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl resolved PHOENIX-5606. ------------------------------------ Fix Version/s: (was: 4.15.0) Resolution: Cannot Reproduce > Upgrade from 4.14 -> 4.15 fails > ------------------------------- > > Key: PHOENIX-5606 > URL: https://issues.apache.org/jira/browse/PHOENIX-5606 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.15.0 > Reporter: Jacob Isaac > Priority: Blocker > > Disable ns mapping and set autoUpgrade to true initially > 1. Connect to a 4.14 server with a 4.14 client > --> This will create SYSTEM.CATALOG with the 4.14 timestamp > 2. Upgrade server jar to 4.15 > 3. Connect with a 4.15 client for the first time with autoUpgrade disabled > (or doNotUpgrade property set) > --> This should fail to upgrade SYSTEM.CATALOG and should throw an > UpgradeRequiredException > 4. Now, sqlline should show the UpgradeRequiredException, but not kill the > connection, then run EXECUTE UPGRADE > Fails with the following exception :- > 0: jdbc:phoenix:localhost> EXECUTE UPGRADE; > Error: ERROR 504 (42703): Undefined column. > columnName=SYSTEM.CATALOG.VIEW_INDEX_ID_DATA_TYPE (state=42703,code=504) > org.apache.phoenix.schema.ColumnNotFoundException: ERROR 504 (42703): > Undefined column. columnName=SYSTEM.CATALOG.VIEW_INDEX_ID_DATA_TYPE > at > org.apache.phoenix.schema.PTableImpl.getColumnForColumnName(PTableImpl.java:1106) > at > org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.resolveColumn(FromCompiler.java:528) > at > org.apache.phoenix.compile.UpsertCompiler.compile(UpsertCompiler.java:483) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:797) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:783) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:404) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:394) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:393) > at > org.apache.phoenix.jdbc.PhoenixStatement.access$700(PhoenixStatement.java:215) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:434) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:394) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:393) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:381) > at > org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:173) > at > org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:183) > at > org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:2908) > at > org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:1064) > at > org.apache.phoenix.compile.CreateTableCompiler$1.execute(CreateTableCompiler.java:217) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:411) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:394) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:393) > at > org.apache.phoenix.jdbc.PhoenixStatement.access$700(PhoenixStatement.java:215) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:434) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:394) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:393) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:381) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1824) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.upgradeSystemChildLink(ConnectionQueryServicesImpl.java:3732) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.upgradeOtherSystemTablesIfRequired(ConnectionQueryServicesImpl.java:3719) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.upgradeSystemTables(ConnectionQueryServicesImpl.java:3648) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableExecuteUpgradeStatement$1.execute(PhoenixStatement.java:1403) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:411) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:394) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:393) > at > org.apache.phoenix.jdbc.PhoenixStatement.access$700(PhoenixStatement.java:215) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:434) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:394) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:393) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:381) > at > org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1843) > at sqlline.Commands.execute(Commands.java:822) > at sqlline.Commands.sql(Commands.java:732) > at sqlline.SqlLine.dispatch(SqlLine.java:807) > at sqlline.SqlLine.begin(SqlLine.java:681) > at sqlline.SqlLine.start(SqlLine.java:398) > at sqlline.SqlLine.main(SqlLine.java:292) > 0: jdbc:phoenix:localhost> !quit > Closing: org.apache.phoenix.jdbc.PhoenixConnection -- This message was sent by Atlassian Jira (v8.3.4#803005)