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

Thomas D'Silva commented on PHOENIX-3870:
-----------------------------------------

This is failing because even though the server jar is 4.11, SYSTEM.CATALOG has 
not yet been upgraded to 4.11, so the PARENT->CHILD view links are missing. 
When we drop the base table, we check to see if there are any child views (by 
searching for PARENT->CHILD links) and don't find any, so we allow the table to 
be dropped (instead of throwing an exception since the drop table statement 
didn't include CASCADE). 
If SYSTEM.CATALOG has not yet been upgraded we should find the child views 
using the CHILD->PARENT link. 
[~jamestaylor] Whats the best way to figure out the version of SYSTEM.CATALOG ? 
 Should I load the PTable and lookup the timestamp? 

FYI [~churromorales] 

> 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
>
> {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