[JBoss JIRA] Created: (JBPM-2797) Bug in LockMonitor unlocks EVERY Job, not only overdue ones
by Bernd Ruecker (JIRA)
Bug in LockMonitor unlocks EVERY Job, not only overdue ones
-----------------------------------------------------------
Key: JBPM-2797
URL: https://jira.jboss.org/jira/browse/JBPM-2797
Project: jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 3.2.8
Reporter: Bernd Ruecker
Assignee: Bernd Ruecker
The LockMonitorThread has a really huge bug.
It queries all jobs with overdue lock time:
Date threshold = new Date(System.currentTimeMillis() - maxLockTime - lockBufferTime);
List overdueJobs = jbpmContext.getJobSession().findJobsWithOverdueLockTime(threshold);
by this query:
<query name="JobSession.findJobsWithOverdueLockTime">
select job
from org.jbpm.job.Job as job
where job.lockTime > :threshold
</query>
This finds all jobs with a lock timer NEWER than the treshold, not OLDER as it should be. So the query must be:
<query name="JobSession.findJobsWithOverdueLockTime">
select job
from org.jbpm.job.Job as job
where job.lockTime < :threshold
</query>
So if a job runs exactly at the time the LockMonitorThread comes active, this leads to a StaleObjectException in the JobExecution. Since the LockMonitorThread runs only every minute, this is a pretty rare case. The more puzzling it was to find ;-) Surprising, that it wasn't recognized that long!
I commit the changed query to HEAD.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years
[JBoss JIRA] Created: (JBPM-1170) Multiple Timers with same name on Node end prematurely
by David Roberts (JIRA)
Multiple Timers with same name on Node end prematurely
------------------------------------------------------
Key: JBPM-1170
URL: http://jira.jboss.com/jira/browse/JBPM-1170
Project: JBoss jBPM
Issue Type: Bug
Affects Versions: jBPM jPDL 3.2.2
Environment: Jbpm 3.2.2, Tomcat 5.028, MySQL 5.0
Reporter: David Roberts
Assigned To: Tom Baeyens
When you have multiple Tasks on a Node, and each task has a Timer called, for example, "Reminder". Lets say each timer is set to repeat every 24 hours. If you complete one of the Tasks on the node, the Timer called "Reminder" on that task instance ends, but so does every other timer for all other tasks on that node with the name "Reminder". Surely this should not happen?
You could avoid this by naming each Timer differenty, example "Reminder 1", "Reminder 2". But the problem may still happen if you have multiple task instances of the SAME task. Then the name of the Reminders will still be the same, so they will all end when completing one of the task instances.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years
[JBoss JIRA] Created: (JBPM-1140) Empty <handler> element in <decision> cause org.jbpm.graph.def.DelegationException
by Rafa? ?ukowski (JIRA)
Empty <handler> element in <decision> cause org.jbpm.graph.def.DelegationException
----------------------------------------------------------------------------------
Key: JBPM-1140
URL: http://jira.jboss.com/jira/browse/JBPM-1140
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM jPDL 3.2.2
Reporter: Rafa? ?ukowski
Assigned To: Tom Baeyens
Priority: Trivial
That is my first issue, forgive me any mistakes and possible redundancy or duplication;)
Using graphical designer I've created process file with empty <handler> :
<decision name="decision1">
<handler></handler>
<transition to="optional" name="to optional"></transition><transition to="first" name="to optional"></transition>
</decision>
And this is not working (org.jbpm.graph.def.DelegationException). After deleting <handler></handler> process is running correctly.
Don't know if this is error in engine or in designer. Maby this kind of decision node is incorrect, and then designer should avoid this situation. My opinion is that engine should ignore empty handlers and go on without errors...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years
[JBoss JIRA] Created: (JBPM-2696) Timers should be read after node-enter actions
by Bernd Ruecker (JIRA)
Timers should be read after node-enter actions
----------------------------------------------
Key: JBPM-2696
URL: https://jira.jboss.org/jira/browse/JBPM-2696
Project: jBPM
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 3.2.8
Reporter: Bernd Ruecker
Priority: Minor
Fix For: jBPM 3.2.x
When parsing the processdefinition, timers are read before all events are read.
This leads to "create-timer" actions being added to the node-enter events BEFORE your own actions. This doesn't make a lot of sense, normally you want your own actions being executed first and the timer created afterwards. From the runtime perspective, it doesn't make any difference (since the timer is started not before the transaciton commits), but with that behavior you could e.g. calculate due dates on the node-enter event (before the time is created).
This is located in the JpdlXmlReader, method "readNode", these two lines:
readNodeTimers(nodeElement, node);
readEvents(nodeElement, node);
See Forum on the discussion how to solve it.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years