Orquesta design: task failures in branches
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 6.5k
- Forks
- 787
- PR merge metrics
- No merged PRs in 30d
Description
This is a continuation of https://github.com/StackStorm/st2/issues/5031
Currently Orquesta's design for failures in branches is to terminate the whole workflow as soon as possible once one branch finishes in a failure (in case if one branch finishes with success, the engine will keep other branches running). To me, it's a huge drawback and it's not consistent with mistral's behavior from which we're supposed to migrate. Also, it's counter-intuitive as you expect the branches running in parallel to be independent from each other.
However, I understand there could be circumstances where you'd want to terminate your workflow entirely if one of the tasks in some branch fails. It's probably a good thing to have as an option, so maybe having a special transition named terminate or something like that would be a good choice here.
I invite all concerned parties to discuss this topic and encourage everyone to chime in.
P.S. It reminded me of the time when mistral did not have the publish-on-error feature, where I'd have to handle all failed tasks with additional core.noop tasks to publish what error happened exactly so that it would be available in the final output...
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked issue #5031 and the discussion of Orquesta's branch-failure behavior; no files or tests are identified here. Review how parallel branches currently terminate and compare it with Mistral's behavior, then seek agreement on whether an explicit terminate transition or another option is required.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100