You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Chinmay Kulkarni (Jira)" <ji...@apache.org> on 2019/12/21 00:56:06 UTC

[jira] [Closed] (PHOENIX-4917) ClassCastException when projecting array elements in hash join

     [ https://issues.apache.org/jira/browse/PHOENIX-4917?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chinmay Kulkarni closed PHOENIX-4917.
-------------------------------------

Bulk closing Jiras for the 4.15.0 release.

> 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
>            Reporter: Gerald Sangudi
>            Assignee: Gerald Sangudi
>            Priority: Blocker
>             Fix For: 4.15.0
>
>         Attachments: PHOENIX-4917.patch, PHOENIX-4917.patch, PHOENIX-4917.patch, 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. Before the fix for PHOENIX-4791, hash join was only generating ProjectedTupleValue, and there were two lines of code with class casts that reflected this assumption. The fix is to handle both ProjectedTupleValue and MultiKeyTupleValue, while continuing to propagate 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
(v8.3.4#803005)