When running complex queries over large haystacks, a way to bound the query execution time with proper cancellation propagation to datafusion would be useful.
Based on my (cursory and AI-assisted) reading of the code, since datafusion already uses Tokio's cooperative task scheduling system, wrapping the query execution in a tokio::time::timeout(...) should work. Happy to contribute a PR for this or other ideas that would allow a bounded query time.
When running complex queries over large haystacks, a way to bound the query execution time with proper cancellation propagation to datafusion would be useful.
Based on my (cursory and AI-assisted) reading of the code, since datafusion already uses Tokio's cooperative task scheduling system, wrapping the query execution in a
tokio::time::timeout(...)should work. Happy to contribute a PR for this or other ideas that would allow a bounded query time.