Hi,
We are intermittently facing a problem related to Parallel Gateway. I have attached three images, one which shows workflow model configuration details and other two which shows state of workflow i.e. stuck and successful.
Here what happen is, after successful start of workflow, execution reaches to parallel gateway which moves to 3 user tasks i.e. User Task 4 - User Task 5 - User Task 6. Now user completes User Task 5 so that particular execution moves to next node which is one input for Parallel Gateway. For User Task 4, boundary timer gets hit so it's execution also reaches another input of Parallel Gateway. Now the problem is that sometimes the execution is not moving to the next node which is Inclusive gateway.
This issue is not happening always. It has an intermittent behavior i.e. 2 times out of 10 cases. Can anybody tell me what's the problem here.
Version: Activiti - 5.15.1
Multiple(3) activiti engine with job scheduler enable in all instances.
Hi,
Intermittent issues are always hard to debug! 5.15.1 is quite an old version! Have you tried upgrading to one of the most recent versions on 5.x (5.22.0) or even 6.0?
If you are getting the same error even after an upgrade, you may want to dig more into the ACT_EVT_LOG & ACT_HI_ACTINST tables using the stuck process instance ids. Such an approach may help you to find out some common patterns that will help reproduce the issue. If you are successful in reproducing the issue, please raise an issue on the Activiti project with a unit test which will help the team/contributors fix the issue!
Thank you.
Thanks for reply Ciju Joseph. After analyzing logs and database entries of successful workflow and stuck workflow I found below details:
In case of successful workflow:
DEBUG [org.activiti.engine.impl.persistence.entity.ExecutionEntity] inactive concurrent executions in 'Activity(sid-3834FD88-F389-4D28-92CB-2B4948FBBBCF)': [ConcurrentExecution[193446], ConcurrentExecution[193447]]
DEBUG [org.activiti.engine.impl.persistence.entity.ExecutionEntity] other concurrent executions: [ConcurrentExecution[193445]]
DEBUG [org.activiti.engine.impl.history.DefaultHistoryManager] Current history level: AUDIT, level required: ACTIVITY
DEBUG [org.activiti.engine.impl.bpmn.behavior.ParallelGatewayActivityBehavior] parallel gateway 'sid-3834FD88-F389-4D28-92CB-2B4948FBBBCF' activates: 2 of 2 joined
ACT_HI_ACTINST:
ID_ | PROC_INST_ID_ | EXECUTION_ID_ | ACT_ID_ | ACT_NAME_ | ACT_TYPE_ |
192466 | 192464 | 192464 | sid-9CC591A5-8190-45B6-8545-C212DD156377 | Start | startEvent |
193169 | 192464 | 192464 | sid-3DB1DC99-635E-4D68-8C44-BED1F6901F95 | System Task 3 | serviceTask |
193444 | 192464 | 192464 | sid-3CBE9DCB-C2F3-48F0-B04E-67F6F4BD5FE0 | - | parallelGateway |
193450 | 192464 | 193445 | sid-CD24A1B8-EDEC-445E-8459-1994E3B00E72 | User Task 6 | userTask |
193471 | 192464 | 193469 | sid-73E2A983-15B1-4FAB-81FB-F654E5EC8609 | User Task 4 | userTask |
193530 | 192464 | 193528 | sid-1C14D193-DA7A-4F5B-8242-60F4AEB5F2BD | User Task 5 | userTask |
194230 | 192464 | 193447 | sid-3834FD88-F389-4D28-92CB-2B4948FBBBCF | PG2 | parallelGateway |
200430 | 192464 | 193469 | sid-8C6396F9-8160-4FDD-997E-B72103E3B3A2 | Timeout | boundaryTimer |
200434 | 192464 | 193446 | sid-2C4DB32B-1C81-41E5-867D-17C82F149F57 | - | exclusiveGateway |
200436 | 192464 | 193446 | sid-3834FD88-F389-4D28-92CB-2B4948FBBBCF | - | parallelGateway |
200444 | 192464 | 193446 | sid-5276E5A7-5E11-46DF-9201-483ABAF4AC69 | - | inclusiveGateway |
200447 | 192464 | 193446 | sid-ED9A8E65-876C-447A-88DD-2D96BEC1FC6C | User Task 7 | userTask |
ACT_RU_EXECUTION:
ID_ | REV_ | PARENT_ID_ | ACT_ID_ | IS_ACTIVE_ | IS_CONCURRENT_ | IS_SCOPE_ | IS_EVENT_SCOPE_ | SUSPENSION_STATE_ | CACHED_ENT_STATE_ |
193445 | 1 | 192464 | sid-CD24A1B8-EDEC-445E-8459-1994E3B00E72 | 1 | 1 | 0 | 0 | 1 | 7 |
193446 | 2 | 192464 | sid-ED9A8E65-876C-447A-88DD-2D96BEC1FC6C | 1 | 1 | 0 | 0 | 1 | 7 |
In case of stuck workflow:
DEBUG [org.activiti.engine.impl.persistence.entity.ExecutionEntity] inactive concurrent executions in 'Activity(sid-3834FD88-F389-4D28-92CB-2B4948FBBBCF)': [ConcurrentExecution[193423]]
DEBUG [org.activiti.engine.impl.persistence.entity.ExecutionEntity] other concurrent executions: [ConcurrentExecution[193422], ConcurrentExecution[193424]]
DEBUG [org.activiti.engine.impl.history.DefaultHistoryManager] Current history level: AUDIT, level required: ACTIVITY
DEBUG [org.activiti.engine.impl.bpmn.behavior.ParallelGatewayActivityBehavior] parallel gateway 'sid-3834FD88-F389-4D28-92CB-2B4948FBBBCF' does not activate: 1 of 2 joined
ACT_HI_ACTINST:
ID_ | PROC_INST_ID_ | EXECUTION_ID_ | ACT_ID_ | ACT_NAME_ | ACT_TYPE_ |
192428 | 192426 | 192426 | sid-9CC591A5-8190-45B6-8545-C212DD156377 | Start | startEvent |
193114 | 192426 | 192426 | sid-3DB1DC99-635E-4D68-8C44-BED1F6901F95 | System Task 3 | serviceTask |
193420 | 192426 | 192426 | sid-3CBE9DCB-C2F3-48F0-B04E-67F6F4BD5FE0 | - | parallelGateway |
193428 | 192426 | 193422 | sid-CD24A1B8-EDEC-445E-8459-1994E3B00E72 | User Task 4 | userTask |
193467 | 192426 | 193465 | sid-73E2A983-15B1-4FAB-81FB-F654E5EC8609 | For Action | userTask |
193522 | 192426 | 193520 | sid-1C14D193-DA7A-4F5B-8242-60F4AEB5F2BD | User Task 5 | userTask |
194232 | 192426 | 193424 | sid-3834FD88-F389-4D28-92CB-2B4948FBBBCF | - | parallelGateway |
200401 | 192426 | 193465 | sid-8C6396F9-8160-4FDD-997E-B72103E3B3A2 | Timeout | boundaryTimer |
200412 | 192426 | 193423 | sid-2C4DB32B-1C81-41E5-867D-17C82F149F57 | - | exclusiveGateway |
200415 | 192426 | 193423 | sid-3834FD88-F389-4D28-92CB-2B4948FBBBCF | - | parallelGateway |
ACT_RU_EXECUTION:
ID_ | REV_ | PARENT_ID_ | ACT_ID_ | IS_ACTIVE_ | IS_CONCURRENT_ | IS_SCOPE_ | IS_EVENT_SCOPE_ | SUSPENSION_STATE_ | CACHED_ENT_STATE_ |
193422 | 1 | 192426 | sid-CD24A1B8-EDEC-445E-8459-1994E3B00E72 | 1 | 1 | 0 | 0 | 1 | 7 |
193423 | 2 | 192426 | sid-3834FD88-F389-4D28-92CB-2B4948FBBBCF | 0 | 1 | 0 | 0 | 1 | 7 |
193424 | 2 | 192426 | sid-3834FD88-F389-4D28-92CB-2B4948FBBBCF | 0 | 1 | 0 | 0 | 1 | 7 |
From logs of ExecutionEntity class it seems like in case of stuck workflow, one execution from User Task 5 to Parallel Gateway is still getting considered as incomplete/active though user has completed the action. Because of this condition (nbrOfExecutionsJoined==nbrOfExecutionsToJoin) of ParallelGatewayActivityBehavior class becomes false.
Please guide.
Just for reminder:
Version: Activiti - 5.15.1
Multiple(3) activiti engine with job scheduler enable in all instances.
Ask for and offer help to other Alfresco Process Services and Activiti Users and members of the Alfresco team.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.