cylc-flow icon indicating copy to clipboard operation
cylc-flow copied to clipboard

`cylc release`: only need to match in the tasks-to-hold list

Open hjoliver opened this issue 1 year ago • 1 comments

Currently the hold/release commands both work like this:

  • glob pattern args:
    • find matching task proxies in the task pool
    • add/remove their IDs from the tasks-to-hold list
    • action the hold/release on the matching task proxies
  • specific task ID args:
    • add/remove the IDs from tasks-to-hold list
    • action the hold/release for any of those that exist in the task pool

HOWEVER, we can only release tasks that are already held, so "release" actually only needs to look at the tasks-to-hold list:

  • glob pattern or specific ID:
    • find matching IDs in the tasks-to-hold list, and remove them
    • action the release for any of those that exist in the task pool

NOTE this allows releasing a glob-hold by using the same glob, even if it no longer matches in the task pool - which can be important in partial graph rewind scenarios. [I have a real example, which motivated this Issue].

hjoliver avatar Sep 30 '23 10:09 hjoliver