[ 
https://issues.apache.org/jira/browse/PHOENIX-3870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16030297#comment-16030297
 ] 

Thomas D'Silva edited comment on PHOENIX-3870 at 5/30/17 10:51 PM:
-------------------------------------------------------------------

[~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  if the 
request is made from an older client (if SYSTEM.CATALOG was upgraded). I can 
change the patch to use the client version from the protobuf request if you 
think thats cleaner.




was (Author: tdsilva):
[~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)

Reply via email to