-
Notifications
You must be signed in to change notification settings - Fork 93
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
hold_swap => is_held #3230
hold_swap => is_held #3230
Conversation
36d9cd3
to
e210951
Compare
At the moment this change has broken the logic which keeps the prerequisite brokering system in-line with manual resets.
When a task is reset it's upstream prerequisites are reset, I'm having a hard time hunting down the logic which is supposed to do this for downstream prerequisites (postrequisites).
The status of the offending prerequisite object after X has been reset to waiting:
(this is unchanged from before the reset [when X was succeeded]) |
We discussed this on Riot chat (and I just added to that conversation). The way I'd put it is, for
The prerequisites of
And finally, in the test |
Hopefully that helps (at least to explain what's going on ... not entirely sure of the implications for this PR). |
Thanks for your explanation.
If this change breaks the logic It's possible there may be some convolution of the task-held and suite-held statuses in the task pool. |
Fixed in a54ab0a! |
No Travis CI for the latest change for some reason? |
I'll mark the PR as ready for review (not quite there yet) I think that'll get Travis going. -> Nope, the branch is in conflict. |
* ignore held state when checking for active / completed states
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quick comment on test with in-memory database.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thank you.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. We will need to document the new meaning of "held" (for suite and tasks). It was a suite status, with hold-swap logic that reverted tasks to pre-suite-hold status on suite release, even if their states had been manipulated while the suite was held; and a task status that only waiting tasks would go to. Now the hold swap logic is gone (which is good) and a task with any status can be held (which means: the task will not be submitted to run even if it goes to the waiting status and has prerequisites satisfied). But I'll open another issue for the documentation since it might take some thought.
LGTM 👍
Kicking Travis for |
failed again 🤔 |
This is the same kind of error that I started seeing in our functional tests. Not sure if it was due to any change in our code or Travis, but it's recent-ish I think. |
And failed again, same test. Direct link to T-CI after-fail.sh output: https://travis-ci.org/cylc/cylc-flow/jobs/568894700 First error is actually this:
|
Hmm, maybe the coverage script that uses the site-customization trick in Python is trying to use an invalid directory (deleted, incorrect, etc) |
I have managed to get it to fail locally with a busy system (and only after several attempts), simple solution, dump it in flakytests? |
(Just kicked Travis CI again, noting failures of |
for i in $(seq 1 10); do
sleep 1 # due to ctb test naming convention
etc/bin/run-functional-tests.sh tests/hold-release/14-hold-kill.t &
done Will see if bc84e23 helps. |
It did! Tests passing! |
Addresses the
isHeld
point of #3223~Quick POC ~branch for replacing the
hold_swap
logic for ais_held
flag to see how much work is involved.itask.status()
(similar solution to https://github.com/cylc/cylc-flow/pull/3147/files#diff-e43061de4a331d2d734a6dd1a5ced381R1463).Logical Change:
Broken tests:
tests/restart/21-task-elapsed.ttests/hold-release/20-reset-waiting-output.ttests/hold-release/13-ready-restart.tTODO:
Questions:
is_retrying
or merged in withis_held
- see graphql: wishlist #3223 (comment)) follow upRequirements check-list
CONTRIBUTING.md
and added my name as a Code Contributor.CHANGES.md
.