milenkovicm commented on code in PR #22523:
URL: https://github.com/apache/datafusion/pull/22523#discussion_r3327018694
##########
datafusion/physical-plan/src/joins/hash_join/exec.rs:
##########
@@ -1635,8 +1640,14 @@ impl ExecutionPlan for HashJoinExec {
ChildFilterDescription::all_unsupported(&parent_filters)
};
- // Add dynamic filters in Post phase if enabled
+ // Add dynamic filters in Post phase if enabled. Skip when this join
+ // already carries a dynamic filter from a previous pass — the shared
+ // `Arc<DynamicFilterPhysicalExpr>` is still wired into the probe-side
+ // scan's predicate, and re-creating it would AND a fresh duplicate
+ // onto every Post-phase invocation (apache/datafusion-ballista#1359
+ // surfaces this in AQE replan loops).
if phase == FilterPushdownPhase::Post
+ && self.dynamic_filter.is_none()
Review Comment:
Unfortunately i dont know much about this peace of code, this might provide
correct result but i'm not sure if this is correct way to do it
--
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]