Description
Issue Description:
The service tasks configured between parallel gateways are stuck abruptly without any exception.
Here, both the parallel gateways are asynchronous & exclusive and service tasks A, B and C are also asynchronous and exclusive. However we observe a pattern where service tasks A and B are executed as expected and service task C is stuck without moving forward. ACT_RU_EXECUTION table is still pointing at service task C and not moving to suspension state. There are no timeouts from service task C and no trace to confirm that the service task has started it's execution.
NOTE: This issue is not consistent but happening quite a few times.
Code:
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test"> <process id="myProcess" name="My process" isExecutable="true"> <startEvent id="startevent1" name="Start"></startEvent> <parallelGateway id="parallelgateway1" name="Parallel Gateway" activiti:async="true"></parallelGateway> <parallelGateway id="parallelgateway2" name="Parallel Gateway" activiti:async="true"></parallelGateway> <serviceTask id="servicetask1" name="Service Task A"></serviceTask> <serviceTask id="servicetask2" name="Service Task B"></serviceTask> <serviceTask id="servicetask3" name="Service Task C"></serviceTask> <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="parallelgateway1"></sequenceFlow> <sequenceFlow id="flow2" sourceRef="parallelgateway1" targetRef="servicetask1"></sequenceFlow> <sequenceFlow id="flow3" sourceRef="parallelgateway1" targetRef="servicetask3"></sequenceFlow> <sequenceFlow id="flow4" sourceRef="servicetask1" targetRef="servicetask2"></sequenceFlow> <sequenceFlow id="flow5" sourceRef="servicetask3" targetRef="parallelgateway2"></sequenceFlow> <sequenceFlow id="flow6" sourceRef="servicetask2" targetRef="parallelgateway2"></sequenceFlow> <serviceTask id="servicetask4" name="Service Task D"></serviceTask> <sequenceFlow id="flow7" sourceRef="parallelgateway2" targetRef="servicetask4"></sequenceFlow> <endEvent id="endevent1" name="End"></endEvent> <sequenceFlow id="flow8" sourceRef="servicetask4" targetRef="endevent1"></sequenceFlow> </process> <bpmndi:BPMNDiagram id="BPMNDiagram_myProcess"> <bpmndi:BPMNPlane bpmnElement="myProcess" id="BPMNPlane_myProcess"> <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1"> <omgdc:Bounds height="35.0" width="35.0" x="160.0" y="273.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="parallelgateway1" id="BPMNShape_parallelgateway1"> <omgdc:Bounds height="40.0" width="40.0" x="260.0" y="270.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="parallelgateway2" id="BPMNShape_parallelgateway2"> <omgdc:Bounds height="40.0" width="40.0" x="720.0" y="270.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="servicetask1" id="BPMNShape_servicetask1"> <omgdc:Bounds height="55.0" width="105.0" x="370.0" y="180.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="servicetask2" id="BPMNShape_servicetask2"> <omgdc:Bounds height="55.0" width="105.0" x="550.0" y="180.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="servicetask3" id="BPMNShape_servicetask3"> <omgdc:Bounds height="55.0" width="105.0" x="451.0" y="333.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="servicetask4" id="BPMNShape_servicetask4"> <omgdc:Bounds height="55.0" width="105.0" x="840.0" y="263.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1"> <omgdc:Bounds height="35.0" width="35.0" x="1000.0" y="273.0"></omgdc:Bounds> </bpmndi:BPMNShape> <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1"> <omgdi:waypoint x="195.0" y="290.0"></omgdi:waypoint> <omgdi:waypoint x="260.0" y="290.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2"> <omgdi:waypoint x="280.0" y="270.0"></omgdi:waypoint> <omgdi:waypoint x="280.0" y="207.0"></omgdi:waypoint> <omgdi:waypoint x="370.0" y="207.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3"> <omgdi:waypoint x="280.0" y="310.0"></omgdi:waypoint> <omgdi:waypoint x="280.0" y="360.0"></omgdi:waypoint> <omgdi:waypoint x="451.0" y="360.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4"> <omgdi:waypoint x="475.0" y="207.0"></omgdi:waypoint> <omgdi:waypoint x="550.0" y="207.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5"> <omgdi:waypoint x="556.0" y="360.0"></omgdi:waypoint> <omgdi:waypoint x="740.0" y="360.0"></omgdi:waypoint> <omgdi:waypoint x="740.0" y="310.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6"> <omgdi:waypoint x="655.0" y="207.0"></omgdi:waypoint> <omgdi:waypoint x="740.0" y="207.0"></omgdi:waypoint> <omgdi:waypoint x="740.0" y="270.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7"> <omgdi:waypoint x="760.0" y="290.0"></omgdi:waypoint> <omgdi:waypoint x="840.0" y="290.0"></omgdi:waypoint> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8"> <omgdi:waypoint x="945.0" y="290.0"></omgdi:waypoint> <omgdi:waypoint x="1000.0" y="290.0"></omgdi:waypoint> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </definitions>