-
Notifications
You must be signed in to change notification settings - Fork 95
focus family and workflow state totals about n=0 tasks #7075
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
Conversation
03d7c0f to
93fcba8
Compare
In #7070 we were only thinking about the top-level workflow state counts as these are what we use in the workflows view (cylc-ui sidebar) where we think restricting the counts to n=0 would improve the usefulness of the state indicators. The aggregate family states are probably best left as they are (i.e, the aggregate family state reflects the state of all the tasks it contains within the current n-window). This way the tree view makes more sense, we also want to bring offline data (which will lie outside of the scheduler's n-window) into the GUI sometime which will probably also require aggregate state to represent all relevant tasks contained within the store. I appreciate that the aggregate family states are awkwardly related to the top-level workflow state counts due to the implementation which makes this difference a bit fun :( |
93fcba8 to
aca1275
Compare
Yeah, this.. I think I'm gonna need another field, or internal dict, if I can't use the same. |
It is often the case that n=0 states trump n!=0 states, however, this is not true in general. All states can be present in n=0. All but preparing, submitted, running can be n!=0. So if n=0 contains a succeeded task and n=1 contains a failed task, the family status would come out as succeeded. |
I think it's reasonable to redefine it as true.. It says; an active family hasn't failed if there are handled failures amongst it's members. |
aca1275 to
9c75769
Compare
|
@oliver-sanders - Ok I've changed the family/group state to be extracted from all.. This doesn't cause a problem in that aggregate because the group state is always determined from the state totals, which is generated from sub-family state-totals (not the group/family state) and task states. |
9c75769 to
d2358fa
Compare
Thanks, sorry for the confusion. |
d2358fa to
fdaa14c
Compare
hjoliver
left a comment
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 - but could you put comments in the code to explain the state total meanings:
- task totals n=0 only (these are the important states for monitoring at full-workflow summary)
- family totals n-window (so that family totals in workflow views - e.g. treeview - reflect the members shown in the view)
Family totals are n=0 also (because the workflow state totals are a collection of all family totals), we don't actually use these in any other way. The family state (however), is determined from all child task/family states n>=0. |
fdaa14c to
47163a8
Compare
|
This definately needs an update to Cylc docs. I will do that myself if I have time (but I have a big review that I would really like to finish. |
We'll be putting in a changes entry for the workflows sidebar refresh, we'll mention this change in that entry. I.e, doesn't need to be done with this PR. |
cylc/flow/data_store_mgr.py
Outdated
| State totals of families reflect zero n-window (n=0), if no n=0 | ||
| children (tasks/families) exist then the totals include the states of | ||
| all children. Family group state, however, is determined from all child | ||
| states via the n>=0 state totals. |
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.
This works, but it's a bit confusing having the state totals mean different things depending on whether the family is n=0 or not.
We don't actually need to compute the parent family state from the state totals as we can derive it from the child states contained within it instead.
I put together a small change which:
- Makes family state totals reflect n=0 in all cases.
- Computes the parent family state from the child 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.
Computes the parent family state from the child states.
We couldn't do this before, because child states weren't homogenous (WRT what they represented).. but can now.. merged
|
Now reviewing 8.6.x...oliver-sanders:cylc-flow:ds-n0-totals-i7070 - i.e. this PR if Oliver's PR is merged in. I think that Oliver's change makes more sense. |
* Family state totals now always reflect the n=0 irrespective of whether the family is itself in the n=0 window or not. * Replace state counter with a state set.
oliver-sanders
left a comment
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.
👍



closes #7070
From element
This is what's done here, n=0 tasks have precedence with family state totals, workflow state totals.
Check List
CONTRIBUTING.mdand added my name as a Code Contributor.setup.cfg(andconda-environment.ymlif present).?.?.xbranch.