You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Join operators don't yield to tokio runtime, preventing query cancellation #19358
Join operators (HashJoinExec, SortMergeJoinExec, CrossJoinExec, NestedLoopJoinExec) don't yield to the tokio runtime during execution, which prevents query cancellation from working. When a long-running join query is aborted, the cancellation is never processed because the operator never yields control back to tokio.
Join operators should periodically yield to the tokio runtime so that task cancellation requests are processed promptly and to avoid worker starvation for other tasks.
Additional context
A simple fix would be to wrap join streams with make_cooperative() in each operator's execute() method.
Activity
kallisti-dev commentedon Dec 16, 2025
take