Skip to content

premature shutdown with waiting tasks #7432

Description

@oliver-sanders

A cylc trigger command issued after workflow completion is received, and enacted, however, the workflow shuts down anyway.

How Cylc should handle a command issued at this stage is of course debatable.

The reason that this is a bug is that the scheduler does enact the trigger, performing the remove required for it to happen causing the scheduler to shut down in an inconsistent state.

If you restart the, reputably completed workflow, the triggered task will actually run! In other words the workflow shut down as completed despite having a waiting task in the pool.

This is likely an event loop bug. Reported with Cylc 8.6.5.

Reproducible Example

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

[runtime]
    [[a]]
        script = true
    [[b]]
        script = true
        [[[events]]]
            succeeded handlers = cylc trigger "%(workflow)s//1/a"

Cold start:

$ 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] => succeeded
...
INFO - Command "force_trigger_tasks" received. ID=7f16d619-4727-4de5-a373-2c2099a66efe
    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 - Command "force_trigger_tasks" actioned. ID=7f16d619-4727-4de5-a373-2c2099a66efe
INFO - Workflow shutting down - AUTOMATIC
INFO - DONE

The previously triggered task does run if/when the workflow is restarted:

$ cylc play
...
INFO - [1/a:waiting(queued)] => preparing(queued)
INFO - [1/a/02:running] => succeeded
INFO - Workflow shutting down - AUTOMATIC
INFO - DONE

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is wrong :(

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions