FOUR-27709: ABE does not work correctly when a parallel gateway is part of the flow #8594
+33
−9
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.





Issue & Reproduction Steps.
When a process includes a parallel gateway that launches two “Actions By Email” call activities, the flow continues as soon as one email reply is received. Because the package fired a broadcast abe_processed message, both call activities were closed at once—so the parent request proceeded to the final Form Task even though one ABE remained unanswered.
Repro: Run the provided BPMN (parallel gateway → two ABE call activities → converging gateway). Start a case and reply to only one of the two ABE emails. The second branch closes automatically and the flow reaches the final Form Task.
Solution
How to Test
Confirm:
Related Tickets & Packages
Note
Limits subprocess data merging to updated fields, avoids double-merge for call activities, and targets message events to specific catch events/instances.
ProcessMaker/Models/CallActivity::completeSubprocess, merge back only updated fields from the subprocess data store (usinggetUpdatedwhen available), falling back to legacy copy-all if not tracked.ProcessMaker/Jobs/CompleteActivity, skipDataManager->updateDatawhen the element is aCallActivityInterfaceto prevent duplicate merging.ProcessMaker/Jobs/ThrowMessageEvent, addtarget_catch_event_idandtarget_instance_idto the message event definition and dispatch after applying payload to the instance datastore.Written by Cursor Bugbot for commit 725ffe4. This will update automatically on new commits. Configure here.