[
https://jira.jboss.org/browse/JBPM-2888?page=com.atlassian.jira.plugin.sy...
]
Maciej Swiderski updated JBPM-2888:
-----------------------------------
Attachment: JBPM-2888.patch
Hi everyone,
I spent some time to trace the problem and as probably everyone realizes it is caused by
concurrency - two (or more) threads are going into join activity at the same time so
parent information are not updated in time that's why join activity is not moving on.
I have tried several approaches, to name some of them:
- end execution when it arrives to join activity
- force parent version increment
- use some indicators on parent to force optimistic locking exception and next retry
all of them either worked for async execution but failed for other types of continuation
or did not provide enough information to join when to continue with the flow.
In attached patch I introduced rather trivial solution but it seems to work in all cases
(that are defined as test cases). It ads one field to execution - boolean async. This
field is set to true when execution is fired by asynchronous continuation. Next join
activity has a static list that in case of async execution records them (their dbid) that
is next used in isComplete method. I know it is not a perfect solution but it works so I
think it is worth considering it.
Comments?!
executions stuck in join activity
---------------------------------
Key: JBPM-2888
URL:
https://jira.jboss.org/browse/JBPM-2888
Project: jBPM
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.3
Reporter: Alejandro Guizar
Assignee: Alejandro Guizar
Fix For: jBPM 4.x
Attachments: JBPM-2888.patch
The fork node starts the execution of both the branches in parallel by using inbuilt jBPM
messaging. We have observed that the job executor picks up both the jobs and starts
executing them concurrently. However the workflow never enters the join state.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira