(Cylc 7.9) Succeeded tasks holding up suite

Hello!

I’m hoping this is an easy config fix or setting that I’ve just failed to find. I have a number of cycling points that trigger based on forecast cycles finishing. Some of these are clock-triggered to start polling ~12 hours after the cycle time, but others as much as 36 hours. This has created a situation where my suite has a lot of tasks that are “succeeded”, but they do not clear. On some occasions, this prevents future cycle points from spawning. See the screenshot for what I mean:

In my suite.rc, I have set:

    max active cycle points = 10
    spawn to max active cycle points = True

I suppose I could set max active cycle points to 20, but this seems to just be a hacky way to get around this issue. I guess I’m wondering why these tasks are not clearing, and how I can fix this so it doesn’t prevent future tasks from spawning. Cheers

Hi @meyerstjm ,

The way Cylc 7 (and earlier) solved the no-barrier-between-cycles problem involved matching task inputs and outputs at run time, so succeed tasks have to be kept in the “task pool” until they can no longer be needed to satisfy the inputs of upcoming waiting tasks. Roughly speaking that means succeeded tasks will not be “cleared” until the active window moves on past them.

That said, it will be the runahead limit (aka max active cycle points) not the succeeded tasks, that is (temporarily) holding back future cycles from spawning. So it sounds like you do need to raise that limit. Are you sure you need “spawn to max active cycle points” though? That’s a somewhat niche thing to allow instances of the same task in Cylc 7 to run out of cycle point order, if dependencies allow.

In any case, the new scheduling algorithm in Cylc 8 totally cleans this up - there will be no succeeded tasks kept around at all. So you should upgrade to Cylc 8!

Hey Hilary!

Thanks for that - I guess another reason to migrate over!

Cheers,
Tristan