[JBoss JIRA] Created: (JBPM-2263) Multiple timers in node cause EventSource reset
by Asaf Shakarchi (JIRA)
Multiple timers in node cause EventSource reset
-----------------------------------------------
Key: JBPM-2263
URL: https://jira.jboss.org/jira/browse/JBPM-2263
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 3.2.6.SP1
Reporter: Asaf Shakarchi
When having multiple timers in a node, the 2nd timer and all after 'lose' the relationship between the timer->graphElement, thus,
timers are being persisted without the relationship with the graphElement, that causes serious problems in job execution time,
Here's a deep detail explaination (considering there are two timers in one task node)
When entering a node, the 'EVENTTYPE_NODE_ENTER' event gets fired, which causes two 'create timer actions' to be created via CreateTimerAction, one per timer,
In GraphElement->fireEvent() there's the following piece of code:
...
fireAndPropagateEvent(eventType, executionContext);
} finally {
executionContext.setEventSource(null);
}
...
This part seems to clean up the eventSource, but that causes the 2nd timer and above to 'lose' the association to the graphElement(Node ID) the timer was created from,
I assume its not taken into consideration that the create timer fires another 'inner' event that causes the eventSource to be reset:
CreateTimerAction->createTimer(..) {
graphElement.fireEvent(Event.EVENTTYPE_TIMER_CREATE, executionContext);
}
For now, we commented out the GraphElement->fireEvent->'executionContext.setEventSource(null);' line, but I don't really understand the impact of that,
If that line is important, I think it's better to perform the cleanup only in case the fire event is not invoked in an 'inner' fire event call, or find another approach,
Thanks.
--
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, 10 months
[JBoss JIRA] Created: (JBPM-2517) Timer with due date set > 24 days in jPDL process definition will cause the timer to be set in the past
by Tobias Groothuyse (JIRA)
Timer with due date set > 24 days in jPDL process definition will cause the timer to be set in the past
-------------------------------------------------------------------------------------------------------
Key: JBPM-2517
URL: https://jira.jboss.org/jira/browse/JBPM-2517
Project: jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.0
Reporter: Tobias Groothuyse
I have a process with
<time duedate="5 weeks"/>
However when this timer gets instantiated in a running process it's actual duedate which is calculated is in the past. I traced this bug to the following piece of code:
TimerImpl.class
{code}
} else {
long millis = duration.getMillis() +
1000*( duration.getSeconds() +
60*( duration.getMinutes() +
60*( duration.getHours() +
24*( duration.getDays() +
7*duration.getWeeks()))));
dueDate = new Date(now.getTime() + millis);
}
{code}
Because all the fields from the duration object are of type int, when duration.getDays() is larger then 24 or a weeks larger than 4 for that matter an int overflow will occur and long millis will have a negative value.
It is probably best to use the normale calendar operations in all cases to add intervals to the current systime.
--
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, 10 months
[JBoss JIRA] Created: (JBPM-2047) PersistenceDbServiceTest and PersistenceServiceDbTest are dependent
by Jiri Pechanec (JIRA)
PersistenceDbServiceTest and PersistenceServiceDbTest are dependent
-------------------------------------------------------------------
Key: JBPM-2047
URL: https://jira.jboss.org/jira/browse/JBPM-2047
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Core Engine
Affects Versions: jBPM-3.2.5.SP1
Reporter: Jiri Pechanec
Assignee: Thomas Diesler
The tests can fail based on the execution order of these tests.
If PersistenceDbServiceTest is executed first then it sets session factory to MockSessionFactory.
Unfortunately it seems that the setting is SAME for ALL future newly created JbpmContexts.
PersistenceServiceDbTest then tests that the factory is null but it is not assertNull(persistenceServiceFactory.sessionFactory). The same test also tests few more features that ends in calls of unsupported operations on the MockSessionFactory.
I am not sure if this is a problem of test - then the sessionFactory should be cleard after test or if it is wrong that the setting is shared for all JBpmContexts.
--
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, 11 months
[JBoss JIRA] Created: (JBPM-1707) pageflow parsing is slow
by Alejandro Guizar (JIRA)
pageflow parsing is slow
------------------------
Key: JBPM-1707
URL: https://jira.jboss.org/jira/browse/JBPM-1707
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Core Engine
Affects Versions: jBPM 3.2.3
Environment: Red Hat Enterprise Linux AS release 4 (Nahant Update 7)
enterprise-installer-4.3.0.GA-1.ep1.8.jar
jdk-1.5.0_16-fcs
Reporter: Alejandro Guizar
Assignee: Alejandro Guizar
Fix For: jBPM 3.3.0 CR1
On a RHEL machine, while deploying a seam based ear, which contains 13 pageflow definitions, the parsing of these 13 pageflow files takes more than 34 minutes (!).
The culprit seems to be the usage of the original systemId (http://jboss.com/products/seam/pageflow-2.0.xsd) in the org.jbpm.jdpl.xml.JpdlParser$JpdlEntityResolver class, as this
apparently results in slow internet lookups:
log.debug("original systemId as input source");
inputSource = new InputSource(systemId);
Using a null InputSource:
inputSource = new InputSource((InputStream)null);
brings the parsing time down to less than 1 second.
Of course it would be better to actually pass in a reference to the local pageflow-2.0.xsd file, which is inside the jboss-seam.jar.
--
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, 11 months