[ 
https://issues.apache.org/jira/browse/PHOENIX-4917?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16630843#comment-16630843
 ] 

Thomas D'Silva commented on PHOENIX-4917:
-----------------------------------------

If you extend the BaseUniqueNamesOwnClusterIT you can start multiple region 
servers. You would have to split you table into multiple regions and move the 
regions to different region servers. See 
{{SplitSystemCatalogIT.splitSystemCatalog}}  as an example of splitting a table 
and moving its regions to different region servers. That function could be 
refactored to split any table instead of being specific to SYSTEM.CATALOG.
It would be good to automate this if possible. 

> 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, 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
(v7.6.3#76005)

Reply via email to