[ 
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)

Reply via email to