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

 ##########
 File path: 
ql/src/java/org/apache/hadoop/hive/ql/optimizer/SharedWorkOptimizer.java
 ##########
 @@ -487,6 +487,15 @@ private static boolean 
sharedWorkOptimization(ParseContext pctx, SharedWorkOptim
             }
             LOG.debug("Input operator removed: {}", op);
           }
+
+          // A shared TSop across branches can not have probeContext that 
utilizes single branch info
+          // Filtered-out rows from one branch might be needed by another 
branch sharing a TSop
+          if (retainableTsOp.getProbeDecodeContext() != null) {
 
 Review comment:
   In this case, should we remove the `ProbeDecodeContext` or should we skip 
merging these two TS operators? It may be that in some cases merging will 
backfire, i.e., if those two filters were very selective? Just for reference, 
if I remember correctly, SharedWorkOptimizer only merges TS operators targeted 
by SJs if at least one of the TS operators do not contain a SJ (since we would 
incur the full scan cost in any case at least once).

----------------------------------------------------------------
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