While troubleshooting an apparent error just now, I noticed that all completed instances of a relatively simple process with an AND gateway had failed to execute both of its outgoing paths. The key factor here is that the process chains (unattended) all the way to a Terminate node, presumably because after the user submits their task in this subprocess, they're expected to chain into a followup task back at the parent level.
However I never realized this constraint was in place - that is, the process executes all possible chained paths (up to and including a terminate) before it will execute the other AND gateway outputs. This seems like a bug to me - but am I wrong? Has anyone else noticed this?
I was able to recreate the behavior with this very, very simplified example process, if anyone's having trouble picturing what I'm referring to:
Discussion posts and replies are publicly visible
Seems like a variant of the classical race-condition to me. While being tricky, I think that this is expected behaviour. This design basically says: "Kill the process instance ASAP ignoring other flows".
Yeah, you're all probably right - it just took me by surprise.