Add future final-incomplete tasks to n=0 for visibility. - #7248
Conversation
ee53c54 to
2302d50
Compare
There was a problem hiding this comment.
LGTM and makes sense.
I was playing around with this branch to test out the implications on runahead limit when I discovered that the following example behaves differently on this branch?!
flow.cylc
[scheduler]
[[events]]
startup handlers = start; echo
[scheduling]
cycling mode = integer
initial cycle point = 1
[[graph]]
P1 = a
[runtime]
[[a]]bin/start
#!/usr/bin/env bash
cylc set $CYLC_WORKFLOW_ID//10/a --out=failed
sleep 3
cylc set $CYLC_WORKFLOW_ID//1/a
sleep 1
cylc set $CYLC_WORKFLOW_ID//2/a
sleep 1
cylc set $CYLC_WORKFLOW_ID//3/a
sleep 1
cylc set $CYLC_WORKFLOW_ID//4/a
sleep 1
cylc set $CYLC_WORKFLOW_ID//5/a
sleep 1
cylc set $CYLC_WORKFLOW_ID//6/aHere, run1 is 8.6.x, run2 is this branch:
- tmp.hBEPWuun2h/run1 - paused 1■
- ̿○ 7
̿○ a
- ̿○ 8
̿○ a
- ̿○ 9
̿○ a
- ⊗ 10
⊗ a
- ̿○ 11
̿○ a
- ̀○ 12
̀○ a
- tmp.hBEPWuun2h/run2 - paused 1■
- ̿○ 7
̿○ a
- ̿○ 8
̿○ a
- ̿○ 9
̿○ a
- ⊗ 10
⊗ a
And:
$ sqlite3 ~/cylc-run/tmp.hBEPWuun2h/run1/log/db 'SELECT * FROM task_pool'
7|a|[1]|waiting|0
8|a|[1]|waiting|0
9|a|[1]|waiting|0
10|a|[1]|failed|0
11|a|[1]|waiting|0
12|a|[1]|waiting|0
$ sqlite3 ~/cylc-run/tmp.hBEPWuun2h/run2/log/db 'SELECT * FROM task_pool'
10|a|[1]|failed|0
7|a|[1]|waiting|0
8|a|[1]|waiting|0
9|a|[1]|waiting|0Take out the sleeps and they behave the same?!
Might be an unrelated issue exposed by this change? Or just an unexpected interaction with parentless spawning?
|
Well, good spotting - I'll take a look... |
Note to self, when I look into this ASAP - parentless spawning is [was] fundamentally broken for non-trivial mixed parented/parentless tasks, fixed by #7237 [now merged] |
2302d50 to
d8ffb7f
Compare
|
@oliver-sanders - the last commit fixes your test case. It did reveal a problem for parentless tasks: adding a future incomplete task to the pool skips over the runahead release point, which is when the next parentless instance is spawned. This revealed a hole in the test suite, which is good: we don't test that the next parentless instances of future final incomplete tasks (made via I'll leave this as a DRAFT until #7374 is merged, then I'll add a new test here to cover this (otherwise the new test will need to be rejigged after 7374). |
Close #6383
Add final-incomplete tasks created by
cylc setting a future task to then=0window, for visibility.Check List
CONTRIBUTING.mdand added my name as a Code Contributor.setup.cfg(andconda-environment.ymlif present).?.?.xbranch.