[
https://issues.apache.org/jira/browse/PHOENIX-4917?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16624845#comment-16624845
]
Gerald Sangudi commented on PHOENIX-4917:
-----------------------------------------
cc [[email protected]] [~jamestaylor] I've attached a patch here. I'm trying
to generate a pull request for your review. "git fetch upstream" is timing out,
so I'm working through that before I can generate a pull request.
> 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
> Priority: Major
> Fix For: 4.15.0, 4.14.1
>
> Attachments: PHOENIX-4917.patch
>
>
> This bug was introduced in the fix for 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)