Details
Description
After commit for PHOENIX-1455 to replace org.xerial.snappy with org.lq80.snappy (https://git-wip-us.apache.org/repos/asf?p=phoenix.git;a=commit;h=ab0bcb8393ae01c063fa30ef7902f0a1c594f804) backward compatibility fails for joins/count distinct with client on Phoenix 4.1.0 and server on using Phoenix with the following hash from 4.2 branch ab0bcb8393ae01c063fa30ef7902f0a1c594f804.
Ex.
create table t1 (pk1 varchar not null primary key, mycol varchar); create table t2 (pk1 varchar not null primary key, mycol varchar); select t1.pk1 from t1 join t2 on t1.pk1=t2.mycol;
Exception:
java.lang.NoClassDefFoundError: org/iq80/snappy/CorruptionException at org.apache.phoenix.coprocessor.ServerCachingEndpointImpl.addServerCache(ServerCachingEndpointImpl.java:78) at org.apache.phoenix.coprocessor.generated.ServerCachingProtos$ServerCachingService.callMethod(ServerCachingProtos.java:3200) at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:5541) at org.apache.hadoop.hbase.regionserver.HRegionServer.execServiceOnRegion(HRegionServer.java:3300) at org.apache.hadoop.hbase.regionserver.HRegionServer.execService(HRegionServer.java:3282) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29501) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2012) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:98) at org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.consumerLoop(SimpleRpcScheduler.java:160) at org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.access$000(SimpleRpcScheduler.java:38) at org.apache.hadoop.hbase.ipc.SimpleRpcScheduler$1.run(SimpleRpcScheduler.java:110) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.NoClassDefFoundError: org/iq80/snappy/CorruptionException at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:188) at org.apache.phoenix.coprocessor.ServerCachingEndpointImpl.addServerCache(ServerCachingEndpointImpl.java:72)