pgaref commented on a change in pull request #952: HIVE-23006 ProbeDecode 
compiler support
URL: https://github.com/apache/hive/pull/952#discussion_r406148931
 
 

 ##########
 File path: ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java
 ##########
 @@ -1483,17 +1489,64 @@ private void 
removeSemijoinsParallelToMapJoin(OptimizeTezProcContext procCtx)
       }
     }
 
-    if (semijoins.size() > 0) {
-      for (ReduceSinkOperator rs : semijoins.keySet()) {
-        if (LOG.isDebugEnabled()) {
-          LOG.debug("Semijoin optimization with parallel edge to map join. 
Removing semijoin "
-              + OperatorUtils.getOpNamePretty(rs) + " - " + 
OperatorUtils.getOpNamePretty(semijoins.get(rs)));
+    if 
(!procCtx.conf.getBoolVar(ConfVars.TEZ_DYNAMIC_SEMIJOIN_REDUCTION_FOR_MAPJOIN)) 
{
+      if (semijoins.size() > 0) {
 
 Review comment:
   Hey Jesus, SJ removal and MJ probedecode are independent from my point of 
view, and thats what I was trying to achieve here -- when 
TEZ_DYNAMIC_SEMIJOIN_REDUCTION_FOR_MAPJOIN is not enabled SJ removal is 
triggered (similar to existing code) and when HIVE_OPTIMIZE_SCAN_PROBEDECODE is 
enabled we do the extra the MJ to TS selection.
   I am not sure there is a case where these two optimizations could affect 
each other (?) but currently they are completely independent.

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to