Gerald Sangudi created PHOENIX-4917: ---------------------------------------
Summary: ClassCastException when projecting array elements in hash join Key: PHOENIX-4917 URL: https://issues.apache.org/jira/browse/PHOENIX-4917 Project: Phoenix Issue Type: Bug Affects Versions: 4.15.0, 4.14.1 Reporter: Gerald Sangudi Assignee: Gerald Sangudi Fix For: 4.15.0, 4.14.1 This bug was introduced in the fix for https://issues.apache.org/jira/browse/PHOENIX-4791. When projecting array elements in hash join, we now generate both ProjectedTupleValue and MultiKeyTupleValue. Previously, we were only generating ProjectedTupleValue, and there are two lines of code that contain this assumption in class casts. The fix is to merge into the MultiKeyTupleValue, while propagating the array cell as in PHOENIX-4791. The stack trace with the ClassCastException: Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.DoNotRetryIOException): org.apache.hadoop.hbase.DoNotRetryIOException: GENO_DOSE,,1537598769044.1a6cb8853b036c59e7515d8e876e28c5.: org.apache.phoenix.schema.tuple.MultiKeyValueTuple cannot be cast to org.apache.phoenix.execute.TupleProjector$ProjectedValueTuple at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) at org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:300) at org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) at org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:82) at org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:294) at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2633) at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2837) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:34950) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2339) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:123) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:188) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:168) Caused by: java.lang.ClassCastException: org.apache.phoenix.schema.tuple.MultiKeyValueTuple cannot be cast to org.apache.phoenix.execute.TupleProjector$ProjectedValueTuple at org.apache.phoenix.coprocessor.HashJoinRegionScanner.processResults(HashJoinRegionScanner.java:220) at org.apache.phoenix.coprocessor.HashJoinRegionScanner.nextRaw(HashJoinRegionScanner.java:294) -- This message was sent by Atlassian JIRA (v7.6.3#76005)