-
Notifications
You must be signed in to change notification settings - Fork 94
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
flow merge for force-triggered n=0 (e.g. queued) tasks #6241
Conversation
@@ -2367,6 2367,25 @@ def delta_task_queued(self, itask: TaskProxy) -> None: | |||
self.state_update_families.add(tproxy.first_parent) | |||
self.updates_pending = True | |||
|
|||
def delta_task_flow_nums(self, itask: TaskProxy) -> None: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was no way to update flow_nums in the data_store.
We got away with this by (erroneously) re-adding flow-merged n=0 tasks to the task pool, which created an entirely new datastore task proxy.
self.add_to_pool(t) | ||
if not in_pool: | ||
self.add_to_pool(t) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the add-to-pool bug.
@@ -2169,6 2172,7 @@ def force_trigger_tasks( | |||
if itask.state(TASK_STATUS_PREPARING, *TASK_STATUSES_ACTIVE): | |||
LOG.warning(f"[{itask}] ignoring trigger - already active") | |||
continue | |||
self.merge_flows(itask, flow_nums) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is all that was needed to trigger an existing n=0
task (e.g. queued) in a new flow. The rest of the PR is just making sure the flow_nums change ends up in the data store.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Co-authored-by: Oliver Sanders <[email protected]>
Awaiting RunaheadHave replicated bug with a runahead limited task - and confirmed this PR works. If I set the workflow running, and whilst a task is waiting because of the runahead limit I trigger it in a new flow I don't think it gets triggered in that new flow.
Also checked:
|
Supersede #6232
Close #6174
Check List
CONTRIBUTING.md
and added my name as a Code Contributor.setup.cfg
(andconda-environment.yml
if present).?.?.x
branch.