This looks suspiciously like https://issues.apache.org/jira/browse/PHOENIX-2169

Are you able to perform the same queries when the tables aren't salted? Also, what versions of HBase / Phoenix are you using?

On Tue, Sep 8, 2015 at 12:33 PM, M. Aaron Bossert <mabossert@gmail.com> wrote:
All,

Any help would be greatly appreciated...

I have two tables with the following structure:

CREATE TABLE NG.BARS_Cnc_Details_Hist (

ip  varchar(30) not null,

last_active date not null,

cnc_type varchar(5),

cnc_value varchar(50),

pull_date date CONSTRAINT cnc_pk PRIMARY KEY(ip,last_active,cnc_value)) SALT_BUCKETS=48;


create table NG.IID_IP_Threat_Hist (

IPaddr varchar(50) not null,

Original_Date varchar(16),

Classname varchar(50),

Category varchar(30),

Threat_Date date,

Time varchar(8),

Created date,

VENDOR_ID integer

CONSTRAINT pk PRIMARY KEY(IPaddr)) SALT_BUCKETS=48;


When I run a query against each individual table, I get the expected results...but when I run a query that is a JOIN of the two (query below), I get errors related to IO/corruption:


SELECT

  NG.BARS_CNC_DETAILS_HIST.IP,

  NG.BARS_CNC_DETAILS_HIST.LAST_ACTIVE,

  NG.BARS_CNC_DETAILS_HIST.CNC_TYPE,

  NG.BARS_CNC_DETAILS_HIST.CNC_VALUE,

  NG.BARS_CNC_DETAILS_HIST.PULL_DATE,

  NG.IID_IP_THREAT_HIST.IPADDR,

  NG.IID_IP_THREAT_HIST.CLASSNAME,

  NG.IID_IP_THREAT_HIST.CATEGORY,

  NG.IID_IP_THREAT_HIST.THREAT_DATE,

  NG.IID_IP_THREAT_HIST.TIME

FROM

  NG.BARS_CNC_DETAILS_HIST

INNER JOIN

  NG.IID_IP_THREAT_HIST

ON

  NG.BARS_CNC_DETAILS_HIST.IP=NG.IID_IP_THREAT_HIST.IPADDR;


15/09/08 11:17:56 WARN ipc.CoprocessorRpcChannel: Call failed on IOException

org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=35, exceptions:

Tue Sep 08 11:08:36 CDT 2015, org.apache.hadoop.hbase.client.RpcRetryingCaller@768f318b, java.io.IOException: java.io.IOException: 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:6864)

at org.apache.hadoop.hbase.regionserver.HRegionServer.execServiceOnRegion(HRegionServer.java:3415)

at org.apache.hadoop.hbase.regionserver.HRegionServer.execService(HRegionServer.java:3397)

at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29998)

at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2078)

at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)

at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114)

at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.NoClassDefFoundError: org/iq80/snappy/CorruptionException

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:190)

at org.apache.phoenix.coprocessor.ServerCachingEndpointImpl.addServerCache(ServerCachingEndpointImpl.java:72)

... 10 more

Caused by: java.lang.ClassNotFoundException: org.iq80.snappy.CorruptionException

at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

... 13 more