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

Yin Huai commented on HIVE-5186:
--------------------------------

Right, I am removing cases associated with the pattern "JOIN%.*%RS%".

Here are my reasons. 
1. Seems JoinReducerProc will kick in when hive.auto.convert.join=false and 
hive.auto.convert.join.noconditionaltask=false. Because of these conditions, I 
thought maybe it is hard to trigger this part of code in practice.
2. For some cases, I am not sure if we can generate executable plan when both 
JoinReducerProc and Correlation Optimizer fire. 
For example,
{code}
         JOIN3
        /    \
       /      \
      /        \
     GBY1      GBY2
      |         |
      |         |
     JOIN1     JOIN2
{code}
If all of these five operators share the same key, JoinReducerProc will drop 
the RS between JOIN1 and GBY1, and drop the RS between JOIN2 and GBY2. Then, 
Correlation Optimizer will try to drop the RSs associated with JOIN3. Since 
there is no Mux between JOIN1 and GBY1, and between JOIN2 and GBY2, I am not 
sure if the plan is executable. But I have not tried this case. Will give it a 
try and post what I find.
                
> Remove JoinReducerProc from ReduceSinkDeDuplication
> ---------------------------------------------------
>
>                 Key: HIVE-5186
>                 URL: https://issues.apache.org/jira/browse/HIVE-5186
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Yin Huai
>            Assignee: Yin Huai
>            Priority: Minor
>         Attachments: HIVE-5186.1.patch.txt
>
>
> Correlation Optimizer will take care patterns involving JoinOperator. We can 
> remove JoinReducerProc from ReduceSinkDeDuplication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to