[
https://issues.apache.org/jira/browse/HIVE-21111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rui Li updated HIVE-21111:
--------------------------
Resolution: Fixed
Fix Version/s: 4.0.0
Status: Resolved (was: Patch Available)
> ConditionalTask cannot be cast to MapRedTask
> --------------------------------------------
>
> Key: HIVE-21111
> URL: https://issues.apache.org/jira/browse/HIVE-21111
> Project: Hive
> Issue Type: Bug
> Components: Physical Optimizer
> Affects Versions: 2.1.1, 3.1.1, 2.3.4
> Reporter: zhuwei
> Assignee: zhuwei
> Priority: Major
> Fix For: 4.0.0
>
> Attachments: HIVE-21111.1.patch
>
>
> We met error like this in our product environment:
> java.lang.ClassCastException: org.apache.hadoop.hive.ql.exec.ConditionalTask
> cannot be cast to org.apache.hadoop.hive.ql.exec.mr.MapRedTask
> at
> org.apache.hadoop.hive.ql.optimizer.physical.AbstractJoinTaskDispatcher.dispatch(AbstractJoinTaskDispatcher.java:173)
>
> There is a bug in function
> org.apache.hadoop.hive.ql.optimizer.physical.AbstractJoinTaskDispatcher.dispatch:
> if (tsk.isMapRedTask()) {
> Task<? extends Serializable> newTask = this.processCurrentTask((MapRedTask)
> tsk,
> ((ConditionalTask) currTask), physicalContext.getContext());
> walkerCtx.addToDispatchList(newTask);
> }
> In the above code, when tsk is instance of ConditionalTask,
> tsk.isMapRedTask() still can be true, but it cannot be cast to MapRedTask.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)