carols10cents commented on code in PR #15030:
URL: https://github.com/apache/datafusion/pull/15030#discussion_r1985212925
##########
datafusion/physical-plan/src/execution_plan.rs:
##########
@@ -260,13 +260,30 @@ pub trait ExecutionPlan: Debug + DisplayAs + Send + Sync {
/// used.
/// Thus, [`spawn`] is disallowed, and instead use [`SpawnedTask`].
///
+ /// To enable timely cancellation, the [`Stream`] that is returned must not
+ /// pin the CPU and must yield back to the tokio runtime regularly. This
can
+ /// be achieved by manually returning [`Poll::Pending`] in regular
intervals,
+ /// or the use of [`tokio::task::yield_now()`]. Cooperative scheduling may
also
Review Comment:
Yeah, after thinking about this more I don't think it makes sense to point
to something that datafusion isn't even using yet (because it hasn't been
released). When the `coop` functionality is released and datafusion uses it,
then it makes more sense to document here.
--
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]