adriangb commented on code in PR #19937:
URL: https://github.com/apache/datafusion/pull/19937#discussion_r2717332806
##########
datafusion/physical-expr/src/expressions/dynamic_filters.rs:
##########
@@ -276,6 +276,12 @@ impl DynamicFilterPhysicalExpr {
///
/// This method will return when [`Self::update`] is called and the
generation increases.
/// It does not guarantee that the filter is complete.
+ ///
+ /// # Note
+ ///
+ /// In the unlikely scenario where this method waits indefinitely, it
indicates
+ /// a programming error where `wait_update()` is being called without any
consumers
+ /// holding a reference to the filter.
Review Comment:
I'd say something like:
> Producers (e.g.) HashJoinExec may never update the expression or marc it
as completed if there are no consumers. If you call this method on a dynamic
filter created by such a producer and there are no consumers registered this
method would wait indefinitely. This should not happen under normal operation
and would indicate a programming error either in your producer or in DataFusion
if the producer is a built in node.
--
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]