All,
Please bear with me through this post...
Issue
We noticed behavior where if a workflow has children workflow in it and a function in one of those child workflows fails, the parent workflow's status remains running. Perhaps this isn't an issue, but this is not our desired behavior. We would prefer if the failed child workflow would bubble up a completed status to the parent workflow causing the parent workflow to eventually finish / move forward.
Test/Explanation
Parallel Gateway Parent Workflow 1
To test, we created a simplified version of our problem. We made a parent workflow that contains two child workflows running in parallel. One of the workflows posts "hello world" to the incident. The other workflow contains a function that only throws an exception, which is handled with the yield FunctionError() method within resilient circuits.
Again invoking this rule via a menu-item rule, we got the following output from the workflow status page:
However, this was different than the result we had gotten in our environment doing a similar test (replacing parallel gateways in the parent workflow with inclusive gateways).
Inclusive Gateway Parent Workflow 2
We created the same workflow as above but this time replaced the child workflow [DEV] Post Note to Incident(which only contained a script) with [DEV] LDAP User Search Test, which is a workflow that contains an LDAP Search function configured to look me up in AD.
Parallel Gateway Parent Workflow 2
We remade the original workflow but this time replacing the child workflow that contained a script posting a note with a child workflow that looked me up in AD via the LDAP Search function.
So the failing child workflow returning before the successful child workflow had no affect on the parallel gateways.
Our Question
Is this expected behavior within the Resilient Platform? We think it would make more sense to have failed child workflows allow parent workflows to continue execution, as it seems like when a child workflow fails it prevents the parent workflow from moving on and completing (we tested this by placing another workflow/function after the second gateway before the end and it was never reached).
We'd appreciate some guidance on how to get our desired behavior to happen if possible.
Thanks for your time!
------------------------------
Liam Mahoney
------------------------------