Skip to content

job submissions clobbered by interaction between set and trigger #7433

Description

@oliver-sanders

A bizzare interaction between cylc set and cylc trigger can cause Cylc to revert back to submission 01, clobbering previous submissions.

This causes task state to drift from job state. It also activates the logic for cleaning out stale job log directories orphaned from a previous run, causing the old logs to be deleted.

Reproducible Example

[scheduling]
    [[graph]]
        R1 = a => b

[runtime]
    [[a]]
        script = true
    [[b]]
        script = false
        [[[events]]]
            failed handlers = """
                cylc trigger %(workflow)s//%(point)s/a && sleep 10 && cylc set %(workflow)s//%(point)s/a && cylc trigger %(workflow)s//%(point)s/a;
            """
$ cylc vip
...
INFO - [1/a:waiting(runahead)] => waiting
INFO - [1/a/01:running] => succeeded
...
INFO - [1/b:waiting(runahead)] => waiting
INFO - [1/b/01:running] => failed
...
    force_trigger_tasks(flow=[], flow_wait=False, on_resume=False, tasks=['1/a'])
INFO - Removed tasks: 1/a (flows=1)
INFO - [1/a:waiting(runahead)] => waiting
INFO - [1/a/02:running] => succeeded
...
    set(flow=[], flow_wait=False, outputs=[], prerequisites=[], tasks=['1/a'])
INFO - [1/a:waiting(runahead)] setting implied output: submitted
INFO - [1/a:waiting(runahead)] setting implied output: started
...
    force_trigger_tasks(flow=[], flow_wait=False, on_resume=False, tasks=['1/a'])
INFO - [1/a:waiting(runahead)] => waiting
INFO - [1/a/01:running] => succeeded

If you look in log/job/1/a you will only find an 01 submission, but there were actually three!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething is wrong :(

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions