Async inclusive joining gateway creates duplicate outgoing executions

Hello,

I noticed that a joining inclusive gateway which is set to be async can trigger multiple outgoing executions for the same execution path. It seems to be related to data visiblity of async jobs and the fact that a joining inclusive gateway will continue the path when no current execution can reach the gateway, see InclusiveGatewayActivityBehavior line 93.

As a test I have created this process where the gateways and task is async and exclusive. When executing the process it always finishes with two end events.

I was reading in other forum entries that async and exclusive should be used when heavily using parallel processing in order to avoid optimistic locking exceptions.

Is this an intended behavior and async inclusive joining gateways be avoided?

Thanks for any advice
Holger

No, it isn’t the intended behavior. I’ll investigate deeper. Is the example you’re using exactly as depicted (with service1 being async)?

Yes, the service and the joining gateway are both async and exclusive. I only get this issue when the joning gateway is async.

Hi @holgerapel-iso: this has been fixed here: https://github.com/flowable/flowable-engine/commit/ffa4e4ada905f3a37b7aa172f15d014b2f876d15

Thanks for reporting and the analysis!

This is excellent! Do you know already into which release the fix will go?

@joram Could you merge this to branch 6.6.x. This is quite important fix. We also afected by this bug

Hey @MirekSz,

We provide fixes to the different flowable-releases by requests from customers. If you would like to have the fix you should either upgrade to a version that has the fix or request it through your Account Manager at Flowable.

Cheers,
Filip