tustvold opened a new issue, #2173: URL: https://github.com/apache/arrow-datafusion/issues/2173
**Describe the bug** Similar to #1939, `HashJoinExec` drives its first child to completion within `HashJoinExec::execute`, see [here](https://github.com/apache/arrow-datafusion/blob/master/datafusion/core/src/physical_plan/hash_join.rs#L316), instead of returning a stream that performs this operation lazily. This effectively stalls out constructing the rest of the physical plan until the child has been fully evaluated, and prevents result streaming from working correctly. It is also highly probable that one could construct a diamond shaped plan that would block indefinitely as a result. **To Reproduce** Run query incorporating a join **Expected behavior** `ExecutionPlan::execute` should return a stream of results, but should not block on those results being available **Additional context** I am currently experimenting with custom scheduling of physical plans, and this requires the construction of the physical plan to be correctly decoupled from its evaluation -- 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]
