totherik / step

An Amazon States Language implementation in JS. (The beginnings of building out FaaS-agnostic Step Functions.)
53 stars 9 forks source link

Parallel -> Catch Behavior #2

Open totherik opened 7 years ago

totherik commented 7 years ago

The specification is ambiguous as to how to deal with the behavior of Catch when in a Parallel State. The spec says:

If any branch fails, due to an unhandled error or by transitioning to a Fail state, the entire Parallel state is considered to have failed and all the branches are terminated. If the error is not handled by the Parallel State, the interpreter should terminate the machine execution with an error.

So I take that to mean the first error encountered across any parallel branch is singled out and passed to Catch, ignoring/terminating all other branches.

This need to just be codified and implemented.