[ https://issues.apache.org/jira/browse/HIVE-22363?focusedWorklogId=331971&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-331971 ]
ASF GitHub Bot logged work on HIVE-22363: ----------------------------------------- Author: ASF GitHub Bot Created on: 22/Oct/19 12:53 Start Date: 22/Oct/19 12:53 Worklog Time Spent: 10m Work Description: kgyrtkirk commented on issue #819: HIVE-22363 ReduceDeduplication may leave an invalid GroupByOperator behind in some cases URL: https://github.com/apache/hive/pull/819#issuecomment-544947479 > @kgyrtkirk , I left some comments. I still do not understand the problem we were having with Filter operator. Could you describe how the plan was looking before and after, and what we are trying to accomplish? Were we producing incorrect results? Were we missing a possible optimization? There was an incorrect operator left in the plan; which was operating in PARTIAL1 mode ; and it caused some classcastexceptions. The logic was after the detection of something like this: {code} pRS-pGBY-cRS-cGBY {code} the problematic case was something like this: {code} pRS-pGBY-FIL-cRS-cGBY {code} note that it also accepted cases like: {code} pRS-xGBY-pGBY-cRS-cGBY {code} ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 331971) Time Spent: 40m (was: 0.5h) > ReduceDeduplication may leave an invalid GroupByOperator behind in some cases > ----------------------------------------------------------------------------- > > Key: HIVE-22363 > URL: https://issues.apache.org/jira/browse/HIVE-22363 > Project: Hive > Issue Type: Bug > Components: Physical Optimizer > Affects Versions: 3.1.2 > Reporter: Zoltan Haindrich > Assignee: Zoltan Haindrich > Priority: Major > Labels: pull-request-available > Attachments: HIVE-22363.01.patch, HIVE-22363.02.patch, > HIVE-22363.03.patch > > Time Spent: 40m > Remaining Estimate: 0h > > since HIVE-11387 reducededup may traverse {{GroupByOperators}} [as > well|https://github.com/apache/hive/blob/c6626edb65c2cd00576647e54db1995628fe64da/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/CorrelationUtilities.java#L244] > But the removal logic only removes the first parent; so if there is some > other operator (a FIL in this case) between the sink and the gby - the > removal may not happen > [here|https://github.com/apache/hive/blob/c6626edb65c2cd00576647e54db1995628fe64da/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/CorrelationUtilities.java#L458] > {code} > set hive.cbo.enable=false; > drop table if exists xl1; > create table xl1 as > select '1' as mdl_yr_desc, 2 as seq_no,'3' as opt_desc1,4 as opt_desc,1 as > row_num; > explain > select trim(base.mdl_yr_desc) mdl_yr_desc, trim(base.opt_desc) opt_desc > from > ( > SELECT trim(mdl_yr_desc) mdl_yr_desc, concat_ws(' ', > collect_set(trim(opt_desc1))) AS opt_desc > from > ( > select t14304.* > from > ( > select * from xl1 > ) t14304 > where row_num = 1 > order by trim(mdl_yr_desc), cast(seq_no as int) asc > ) x > group by trim(mdl_yr_desc) > ) base > inner join > ( > select 1 as v > ) dedup > on trim(base.mdl_yr_desc) != dedup.v > group by trim(base.mdl_yr_desc), trim(base.opt_desc) ; > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)