-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A triggered task can block a flow. #4644
Comments
Similarly for parentless tasks, which auto-spawn their own next instance when released from runahead (example from #4640 (comment)): [scheduling]
cycling mode = integer
runahead limit = P1
[[graph]] # BUG: NOT OK to trigger 3/foo while 1/foo is still running
P1 = foo
[runtime]
[[foo]]
script = sleep 10 Here, if I force-trigger |
(Note it causes no problem to trigger a future task that finishes before the main flow catches up). |
To kill both birds with one stone: [scheduling]
cycling mode = integer
runahead limit = P1
[[graph]]
P1 = foo:start => bar
[runtime]
[[foo]]
script = sleep 10 Force-triggering
I'll base a test on this example. |
A task triggered manually without
--reflow
has no flow numbers and does not spawn children.If a task from an ongoing flow catches up to such a task (while it is still running), the two will merge. The merged task will have the ongoing flow number(s) and will spawn children on any subsequent outputs, but:
This is pretty niche; I can't imagine why a user would want to force-trigger a task that was just about to be spawned by the main flow anyway. Still, it's a bug because the main flow would be expected to keep going regardless of a single triggered task out in front of it.
Example:
If I trigger
bar
whilefoo
is still running, whenfoo
succeeds it will try to spawnbar
and find that it already exists, so the scheduler will mergefoo
's flow number(s) intobar
. So by the timebar
finishes it belongs to the flow and will spawnbaz
as normal.However, if
baz
triggers off of an earlier output ofbar
then under the same scenario the scheduler will shut down without runningbaz
(becausebaz
did not belong to a flow at the time it completed that output):The text was updated successfully, but these errors were encountered: