Skip to content
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

data-store: incorrect information for n>0 xtriggers #6298

Open
oliver-sanders opened this issue Aug 13, 2024 · 4 comments
Open

data-store: incorrect information for n>0 xtriggers #6298

oliver-sanders opened this issue Aug 13, 2024 · 4 comments
Labels
bug Something is wrong :(
Milestone

Comments

@oliver-sanders
Copy link
Member

oliver-sanders commented Aug 13, 2024

Xtriggers are not evaluated until at least one pre-requisite has been satisfied (where the "runahead limit" is effectively handled as a prerequisite for parentless tasks for this purpose), however, Cylc interfaces e.g. cylc show will list them irrespective.

This can cause confusion. E.g. If you inspect a runahead-limited task with a wall_clock xtrigger, the xtrigger may be shown as unsatisfied despite being past the trigger time. This is a bug as Cylc is making it look like a wall_clock xtrigger is returning False rather than explaining that it hasn't started running yet.

Proposal

Xtriggers should have one of three states meaning "satisfied", "unsatisfied" or "not yet evaluated" (exact names TBC).

The cylc show CLI and "Info View" in the GUI should represent this "not yet evaluated" state in an intuitive way.

Options Considered

  1. Add a third xtrigger state.
    • E.G. "satisfied", "unsatisfied", or "not yet evaluated".
    • This would need to be a new field (e.g. "status") with the old "satisfied" field being marked as deprecated in order to ensure compatibility with older schedulers.
  2. Don't list xtriggers until the task has entered n=0.
    • This could cause confusion as it makes it look like the xtrigger does not exist.
    • Cylc interfaces could have some logic to protect against this e.g. put a placeholder message saying "xtriggers pending" or whatnot.
  3. Add a dummy xtrigger for n>0 tasks and replace it with real xtriggers at spawn time.
    • The dummy xtrigger could have a message along the lines of "xtriggers not yet started".
  4. Other?
@oliver-sanders oliver-sanders added bug Something is wrong :( question Flag this as a question for the next Cylc project meeting. labels Aug 13, 2024
@oliver-sanders oliver-sanders added this to the 8.x milestone Aug 13, 2024
@dwsutherland
Copy link
Member

2 is a no go for me (like you said, just as confusing)

I think 1 is a good option pending or not yet evaluated ..
Should be easy.. may want n/a or - instead or x or tick in the UIs/dumps.

Is the prerequisites n/a for past tasks a front end message or generated at cylc-flow?
Because we may not need a state if it's implied but some other info

@hjoliver
Copy link
Member

I agree with David, option 1 is best.

@oliver-sanders
Copy link
Member Author

Ok, this looks like a consensus, going with option 1.

@oliver-sanders oliver-sanders removed the question Flag this as a question for the next Cylc project meeting. label Oct 25, 2024
@oliver-sanders
Copy link
Member Author

Is the prerequisites n/a for past tasks a front end message or generated at cylc-flow?

ansiprint(f"{pre_txt} (n/a for past tasks)")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is wrong :(
Projects
None yet
Development

No branches or pull requests

3 participants