[ https://issues.apache.org/jira/browse/HIVE-8024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14127504#comment-14127504 ]
Chao commented on HIVE-8024: ---------------------------- There's a problem again: Suppose the operator tree is the following: {code} TS_0 TS_2 \ / UNION_3 | SEL_4 {code} After removing UNION operator, it will look like this: {code} TS_0 TS_2 \ / SEL_4 {code} (Again, I ignored some operators, but you get the idea.) Then, we could have MapWork 1 starts from {{TS_0}}, and MapWork 2 starts from {{TS_2}}. Now, when MapWork 1 initialize itself, it will initialize the operator tree, starting from {{TS_0}, and go down the tree. When it gets to {{SEL_4}}, it will not be able to initialize it, because not all of {{SEL_4}}'s parent are initialize at that point. Hence, the execution will fail. > Find out whether it's possible to remove UnionOperator from original operator > tree [Spark Branch] > ------------------------------------------------------------------------------------------------- > > Key: HIVE-8024 > URL: https://issues.apache.org/jira/browse/HIVE-8024 > Project: Hive > Issue Type: Task > Components: Spark > Reporter: Chao > Assignee: Chao > > Currently, after operator tree is processed, the generated works with union > operators will go through {{GenSparkUtils::removeUnionOperators}}, which will > clone the original operator plan associated with the work, and remove union > operators in it. This caused some issues as seen, for example, in HIVE-7870. > This JIRA is created to find out whether it's possible to just remove the > union operators in the original plan. -- This message was sent by Atlassian JIRA (v6.3.4#6332)