ParallelGateway sticks in join with inbound conditional flows

Description

ParallelGatewayActivityBehavior class uses the number of incoming transitions to determine how many executions to wait for (execution.getActivity().getIncomingTransitions().size()).

This does not seem correct, and can cause processes to stick in the joining gateway if we have conditional flows such as an those coming from an exclusive gateway joining at the gateway.

See attached test case, which also includes a workaround example which uses a dummy task to combine two exclusive flows into a single sequence flow coming into the gateway.

Environment

None

Assignee

Joram Barrez

Reporter

Stuart Chalmers

Labels

None

Components

Affects versions

Priority

Major
Configure