pepijnve commented on PR #16398:
URL: https://github.com/apache/datafusion/pull/16398#issuecomment-2970729760

   @ozankabak I've pushed the optimizer rule changes I had in mind. This 
introduces two new execution plan properties that capture the evaluation type 
(eager vs lazy) and the scheduling type (blocking vs cooperative). With those 
two combined the tree can be rewritten in a bottom up fashion. Every leaf that 
is not cooperative gets wrapped as before. Additionally, any eager evaluating 
nodes (i.e. exchanges) that are not cooperative are wrapped. This should ensure 
the entire plan participates in cooperative scheduling.
   
   The only caveat that remains is dynamic stream creation. Operators that do 
that need to take the necessary precautions themselves. I already update the 
spill manager for this in the previous commit.


-- 
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: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to