[
http://jira.jboss.com/jira/browse/JBESB-1768?page=comments#action_12415146 ]
Kevin Conner commented on JBESB-1768:
-------------------------------------
This appears to be a bug in the version of h2 that we are using (1.0.68), probably
triggered by the move to using the XADataSource.
Investigation shows that it is a race occurring between the execution of the suspend on
the jBPM process and the subsequent jBPM callback from the ESB service.
The sequence of events are as follows
- ESB service receives a message and suspends the current process instance, then replies
to the jBPM callback
- transaction commits, causing hibernate to flush data to the database (update of
JBPM_TOKEN (to version 2/suspended) seen through JDBC debugging)
- callback message is handled in a new thread
- jBPM callback service process message and attempts to update the JBPM_TOKEN
- hibernate queries the database but retrieves the *previous* state of the token (i.e not
suspended and version 1)
- h2 throws an exception causing the transaction to be rolled back
JMS then causes the message to be redelivered (on different threads) but the same sequence
of events occur. This eventually causes the message to be stored in the JMS dead letter
queue, thus timing out the test case.
JbpmAsyncUnitTest failure
-------------------------
Key: JBESB-1768
URL:
http://jira.jboss.com/jira/browse/JBESB-1768
Project: JBoss ESB
Issue Type: Task
Security Level: Public(Everyone can see)
Components: Testing
Affects Versions: 4.2.1 CP2
Reporter: Kevin Conner
Assigned To: Kevin Conner
Fix For: 4.2.1 CP3
Attachments: log.zip
One of the CI runs failed during the JbpmAsyncUnitTest,
http://build.ncl.jboss.com:9080/job/JBoss_ESB_CP/207/
--
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