[ https://issues.apache.org/jira/browse/PHOENIX-2572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Taylor updated PHOENIX-2572: ---------------------------------- Attachment: PHOENIX-2572_v2.patch In MetaDataClient, we need to not refer to the TRANSACTIONAL column in the MetaDataClient.CREATE_TABLE static string as it doesn't exist in a pre 4.7.0 client and will break our bootstrapping when we create the SYSTEM.CATALOG table itself. This patch will fix it. When we do a major release of Phoenix, we can fold this back into the CREATE_TABLE static constant. Would you mind applying this and seeing if it fixes the upgrade issue when you test, [~ankit.singhal]? > Backward compatibility fails between v4.5.0 and 4.7 snapshot > ------------------------------------------------------------ > > Key: PHOENIX-2572 > URL: https://issues.apache.org/jira/browse/PHOENIX-2572 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.7.0 > Reporter: Mujtaba Chohan > Assignee: Samarth Jain > Fix For: 4.7.0 > > Attachments: PHOENIX-2572_v2.patch > > > Server is upgraded to Phoenix 4.7 snapshot while client remains on 4.5.0. > After this client is also upgraded to 4.7, on connection: > {code} > org.apache.phoenix.schema.NewerTableAlreadyExistsException: ERROR 1013 > (42M04): Table already exists. tableName=SYSTEM.CATALOG > > at > > org.apache.phoenix.schema.MetaDataClient.processMutationResult(MetaDataClient.java:2496) > > at > > org.apache.phoenix.schema.MetaDataClient.addColumn(MetaDataClient.java:2834) > > at > > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableAddColumnStatement$1.execute(PhoenixStatement.java:974) > > at > > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:335) > > at > > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:323) > > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > > at > > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:321) > > at > > org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1274) > > at > > org.apache.phoenix.query.ConnectionQueryServicesImpl.addColumn(ConnectionQueryServicesImpl.java:2258) > > at > > org.apache.phoenix.query.ConnectionQueryServicesImpl.access$600(ConnectionQueryServicesImpl.java:209) > > at > > org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2428) > > at > > org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2301) > > at > > org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78) > > at > > org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2301) > > at > > org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:218) > > at > > org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:131) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)