Fixed synchronization of multiple recovery workflows#822
Merged
GlassOfWhiskey merged 17 commits intomasterfrom Mar 23, 2026
Merged
Fixed synchronization of multiple recovery workflows#822GlassOfWhiskey merged 17 commits intomasterfrom
GlassOfWhiskey merged 17 commits intomasterfrom
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #822 +/- ##
==========================================
+ Coverage 73.83% 74.13% +0.30%
==========================================
Files 91 91
Lines 12492 12471 -21
Branches 2191 2180 -11
==========================================
+ Hits 9223 9245 +22
+ Misses 2744 2712 -32
+ Partials 525 514 -11 ☔ View full report in Codecov by Sentry. |
3c91bed to
7f85ef4
Compare
Merged
b21f362 to
e7820f1
Compare
8c05dac to
4a6edc9
Compare
2393618 to
d536040
Compare
…ected tags, instead of a single upper tag. Before this commit, the scatter can be prone to errors when the max tag is generated before the other ones.
# Conflicts: # .github/workflows/ci-tests.yaml # .github/workflows/release.yml # pyproject.toml # streamflow/cwl/command.py # streamflow/cwl/processor.py # streamflow/cwl/utils.py # streamflow/data/manager.py # streamflow/data/utils.py # streamflow/persistence/sqlite.py # streamflow/recovery/policy/recovery.py # streamflow/recovery/utils.py # streamflow/workflow/combinator.py # streamflow/workflow/port.py # streamflow/workflow/step.py # tests/test_recovery.py # tests/utils/workflow.py # uv.lock
# Conflicts: # streamflow/recovery/policy/recovery.py # streamflow/workflow/port.py
# Conflicts: # streamflow/core/recovery.py # streamflow/recovery/policy/recovery.py # streamflow/recovery/utils.py
243acb7 to
b137e39
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit improves the synchronization of concurrent recovery workflows. Previously, an error occurred when a dependent workflow attempted to attach to an
InterWorkflowPortof the dependee before it was created. This race condition happened because port creation occurred in a successor phase of job synchronization. This is now resolved by acquiring a lock to check the status and holding it until the recovery workflow responsible for the rollback is ready.Additionally, this commit fixes the
move_token_to_rootandremove_portmethods. Token movement now correctly drives port deletion; previously, port deletion drove token deletion, which occasionally resulted in an empty token graph.Finally, this commit corrects the status precedence in the
_reduce_statusesfunction. TheFAILEDandCANCELLEDstatuses now take priority overRECOVERED.