12-11-2017 05:07 AM
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.
12-16-2017 12:58 PM
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.
01-11-2018 02:22 AM
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.
Explore our Alfresco products with the links below. Use labels to filter content by product module.