acvictor commented on code in PR #11657:
URL: 
https://github.com/apache/incubator-gluten/pull/11657#discussion_r2885368481


##########
gluten-substrait/src/main/scala/org/apache/gluten/execution/WholeStageTransformer.scala:
##########
@@ -257,7 +258,34 @@ case class WholeStageTransformer(child: SparkPlan, 
materializeInput: Boolean = f
       PlanBuilder.makePlan(substraitContext, 
Lists.newArrayList(childCtx.root), outNames)
     }
 
-    WholeStageTransformContext(planNode, substraitContext, isCudf)
+    WholeStageTransformContext(
+      planNode,
+      substraitContext,
+      isCudf,
+      hasNonDeterministicExprInJoinProbe(child))
+  }
+
+  /**
+   * Checks whether any HashJoin's probe (streamed) side contains 
non-deterministic expressions.
+   * When true, ValueStream dynamic filter pushdown must be disabled because 
the dynamic filter
+   * would be applied at the scan level (below the non-deterministic Project), 
changing how many
+   * times the non-deterministic expression is evaluated and thus altering its 
output sequence. See
+   * SPARK-10316.
+   */

Review Comment:
   I have changed the comment "the dynamic filter would be applied at the scan 
level" to "if left enabled, the dynamic filter would filter rows at the 
ValueStream" to make it clear that the comment describes what would go wrong 
without the disable, not the disabled state itself.



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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to