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

Constrain window by final cycle point #4272

Merged
merged 1 commit into from
Jun 21, 2021

Conversation

dwsutherland
Copy link
Member

@dwsutherland dwsutherland commented Jun 17, 2021

These changes close #4255

Constrain the data store n-window by the final cycle point (FCP)... (ICP doesn't appear to be an issue)

There would be two ways of doing this:

  • change the taskdef.py function that generates children
  • filter at the window expansion for children whose cycle point extends beyond the FCP.

I chose the latter, because we may wish to (or already do) record the workflow state of tasks beyond the FCP for the purpose of restarting the workflow with an extended FCP.

The issue only applies to those tasks in the [scheduling][[special tasks]]sequential section, not those defined in the graph as sequential.

The test tests/functional/graphql/01-workflow.t will fail with the filter commented out.

Requirements check-list

  • I have read CONTRIBUTING.md and added my name as a Code Contributor.
  • Contains logically grouped changes (else tidy your branch by rebase).
  • Does not contain off-topic changes (use other PRs for other changes).
  • Applied any dependency changes to both setup.py and
    conda-environment.yml.
  • Appropriate tests are included (unit and/or functional).
  • Appropriate change log entry included.
  • No documentation update required.

@dwsutherland dwsutherland added this to the cylc-8.0b2 milestone Jun 17, 2021
@dwsutherland dwsutherland self-assigned this Jun 17, 2021
@dwsutherland dwsutherland force-pushed the n-window-fcp-bounds branch 2 times, most recently from 22f5a04 to 76b3dd0 Compare June 17, 2021 06:27
@hjoliver
Copy link
Member

hjoliver commented Jun 17, 2021

The issue only applies to those tasks in the [scheduling][[special tasks]]sequential section, not those defined in the graph as sequential.

That doesn't seem to be true, e.g. @dpmatthews example from Element chat shows an n=1 task in 2000-01-04:

[scheduling]
    initial cycle point = 2000-01-01
    final cycle point = 2000-01-03
    [[graph]]
        T00 = "task1[-PT24H] => task1"
[runtime]
    [[task1]]
        script = sleep 10

Same again for a variation to avoid sequential tasks: task1[-PT24H] => task2 => task1

But ... this PR fixes it 🎉

Copy link
Member

@hjoliver hjoliver left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good 👍

cylc/flow/data_store_mgr.py Show resolved Hide resolved
@dwsutherland
Copy link
Member Author

dwsutherland commented Jun 17, 2021

The issue only applies to those tasks in the [scheduling][[special tasks]]sequential section, not those defined in the graph as sequential.

That doesn't seem to be true, e.g. @dpmatthews example from Element chat shows an n=1 task in 2000-01-04:

I was just looking on startup (cylc play --pause fox/run1) with ICP = FCP, but didn't test as the workflow progresses to a FCP further out... The fix, as you've seen, is agnostic to either case.

@dwsutherland dwsutherland removed the request for review from oliver-sanders June 17, 2021 22:39
@dwsutherland dwsutherland force-pushed the n-window-fcp-bounds branch from 76b3dd0 to d262cd2 Compare June 17, 2021 22:41
@dpmatthews dpmatthews requested review from oliver-sanders and removed request for dpmatthews June 18, 2021 06:48
@oliver-sanders oliver-sanders added the bug Something is wrong :( label Jun 21, 2021
@oliver-sanders oliver-sanders merged commit 0319ea5 into cylc:master Jun 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is wrong :( small
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Datastore window: stop at final cycle point
3 participants