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

expiry: broken interaction with runahead limit #5447

Closed
oliver-sanders opened this issue Apr 3, 2023 · 1 comment · Fixed by #5658
Closed

expiry: broken interaction with runahead limit #5447

oliver-sanders opened this issue Apr 3, 2023 · 1 comment · Fixed by #5658
Assignees
Labels
bug Something is wrong :(
Milestone

Comments

@oliver-sanders
Copy link
Member

oliver-sanders commented Apr 3, 2023

There is a bug in the interaction between runahead limit and task expiry.

In the following example, Cylc spawns the task out to the runahead limit, these tasks then clock-expire. The task pool is now empty so the workflow shuts down, job done, despite there still being un-expired tasks left to run before the FCP.

[scheduling]                                         
    initial cycle point = previous(T-00) - PT5H    
    final cycle point = +PT10H    
    runahead limit = P3                                                                                                            
    [[special tasks]]                                
        clock-expire = task1(PT0H)                   
    [[dependencies]]                                 
        [[[R//PT1H]]]                                
            graph = "@wall_clock => task1"           
                                                     
[runtime]                                            
    [[task1]]
@oliver-sanders oliver-sanders added the bug Something is wrong :( label Apr 3, 2023
@oliver-sanders oliver-sanders added this to the cylc-8.1.3 milestone Apr 3, 2023
@hjoliver
Copy link
Member

hjoliver commented Apr 3, 2023

This is fixed by #5412 - although we had better check again once that PR is finished.

Running your example on that branch, the workflow stalls with incomplete tasks and a runahead-limited task in the pool, rather than shutting down. . If I remove a few expired tasks, I eventually get a task waiting on a new clock trigger.

(Note stall on expired tasks - i.e. considering them as incomplete - is still under discussion).

@hjoliver hjoliver mentioned this issue Apr 3, 2023
8 tasks
@oliver-sanders oliver-sanders modified the milestones: cylc-8.1.3, cylc-8.1.4, cylc-8.1.x Apr 20, 2023
@hjoliver hjoliver modified the milestones: cylc-8.1.x, cylc-8.2.0 Jun 13, 2023
@oliver-sanders oliver-sanders modified the milestones: cylc-8.2.0, cylc-8.3.0 Jul 4, 2023
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

Successfully merging a pull request may close this issue.

2 participants