> On Oct. 29, 2014, 5:09 p.m., Xuefu Zhang wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java, 
> > line 626
> > <https://reviews.apache.org/r/27283/diff/2/?file=739757#file739757line626>
> >
> >     static method? Maybe we can create such clone() method in QBJoinTree 
> > class.

Yes I was thinking add such a method to QBJoinTree. Do you think we should make 
QBJoinTree clonable and implement deep copy?


> On Oct. 29, 2014, 5:09 p.m., Xuefu Zhang wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java, 
> > line 694
> > <https://reviews.apache.org/r/27283/diff/2/?file=739757#file739757line694>
> >
> >     The method seems to be recursive, but I'm not sure it's correct. We 
> > call the same method for the parents and children of the current operator. 
> > When a parent or child operator of the current operator is processed, 
> > wouldn't the process go back to the current operator again? Recursion 
> > should be done in one direction and should have clear end condition.

Thanks a lot for the catch. The method can work the way it's being used. But 
you're right, I will make it more robust.


- Rui


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/27283/#review59001
-----------------------------------------------------------


On Oct. 29, 2014, 2:59 a.m., Rui Li wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/27283/
> -----------------------------------------------------------
> 
> (Updated Oct. 29, 2014, 2:59 a.m.)
> 
> 
> Review request for hive, Szehon Ho and Xuefu Zhang.
> 
> 
> Bugs: HIVE-8610
>     https://issues.apache.org/jira/browse/HIVE-8610
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> This patch adds QBJoinTree and colExprMap for the cloned join operator tree 
> in SkewJoinOptimizer, so that CommonJoinResolver can properly convert the 
> cloned join to map join.
> The added tests are copied from skewjoinopt*.q, except that auto map join is 
> enabled.
> 
> 
> Diffs
> -----
> 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java 
> e87c41b 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin1.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin10.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin11.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin2.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin3.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin4.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin5.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin6.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin7.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin8.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/skewjoin_mapjoin9.q PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin1.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin10.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin11.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin2.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin3.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin4.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin5.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin6.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin7.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin8.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/skewjoin_mapjoin9.q.out PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/27283/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Rui Li
> 
>

Reply via email to