You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Thomas D'Silva (JIRA)" <ji...@apache.org> on 2017/05/30 22:51:04 UTC

[jira] [Updated] (PHOENIX-3870) Backward compatibility fails between v4.9.0 and head of 4.x (4.11-SNAPSHOT)

     [ https://issues.apache.org/jira/browse/PHOENIX-3870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas D'Silva updated PHOENIX-3870:
------------------------------------
    Attachment: PHOENIX-3870.patch

[~jamestaylor]

Can you please review? I used the timestamp of SYSTEM.CATALOG to figure out if the table upgraded. This way we can use the new server side code even if the request is made from an older client. I can change the patch to use the client version from the protobuf request if you think thats cleaner.



> Backward compatibility fails between v4.9.0 and head of 4.x (4.11-SNAPSHOT)
> ---------------------------------------------------------------------------
>
>                 Key: PHOENIX-3870
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3870
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Mujtaba Chohan
>            Assignee: Thomas D'Silva
>         Attachments: PHOENIX-3870.patch
>
>
> {noformat}
> Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.DoNotRetryIOException): org.apache.hadoop.hbase.DoNotRetryIOException: SCH.MYDELETE: Didn't find expected key values for table row in metadata row
> 	at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:92)
> 	at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.createTable(MetaDataEndpointImpl.java:1614)
> 	at org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService.callMethod(MetaDataProtos.java:16282)
> 	at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:6082)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.execServiceOnRegion(HRegionServer.java:3533)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.execService(HRegionServer.java:3515)
> 	at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32496)
> 	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2195)
> 	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:104)
> 	at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
> 	at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
> 	at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.IllegalStateException: Didn't find expected key values for table row in metadata row
> 	at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.getTable(MetaDataEndpointImpl.java:874)
> 	at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.buildTable(MetaDataEndpointImpl.java:563)
> 	at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.loadTable(MetaDataEndpointImpl.java:1264)
> 	at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.createTable(MetaDataEndpointImpl.java:1443)
> {noformat}
> Steps
> * Create and drop table with 4.9 client/4.x server
> {{create table sch.mydelete (pk1 varchar not null primary key, mycol varchar) salt_buckets=4; drop table sch.mydelete;}}
> * Exception on creating table again with 4.x client/server.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)