Env: Jboss 7.1.0, mysql DB, Redhat 5.5, jBPM 5.2
When I thought I'm getting pretty good with jBPM and our application is about to be released, i came across this tough bug during extensive testing.
Intermittently we're facing that pending human task has missing parent process instance and it results in nullpointerexception while completing that human task.
I ran below SQL query to confirm this:
select t.id, t.processInstanceId from Task t where t.processInstanceId not in (select distinct(InstanceId) from ProcessInstanceInfo);
+----+-------------------+
| id | processInstanceId |
+----+-------------------+
| 33 | 20 |
| 43 | 20 |
| 47 | 20 |
| 53 | 20 |
| 57 | 20 |
+----+-------------------+
Same code works fine most of the time. So I think it's not problem with our code but some bug in jBPM. MinaTaskServer is being used for our implementation.
Also we use JTA persistence for jBPM core engine and RESOURCE_LOCAL for human task. We have to use RESOURCE_LOCAL for human task because JTA can't be used due to another jBPM bug.
If I reinitialize the database, then everything works fine for a while but again I run into this problem.
Please let us know how we can fix it, if anyone knows solution. I was about to create a blocker JIRA issue but thought let's first get community opinion on this.
Exception stack trace is attached.