User development,

A new message was posted in the thread "jbpm 4.3 - 
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC 
batch update":

http://community.jboss.org/message/522457#522457

Author  : Martin Porter
Profile : http://community.jboss.org/people/jedizippy

Message:
--------------------------------------------------------------
Hi ZT,
 
Well the current status is that we still do not know what is causing the issue. 
There is without any doubt a bug in the id generation somewhere but we have not 
been able to nail down where the root cause is. We get integrity constraint 
violations in random places throughout the workflow and its not reproducable. 
Also our workflow is quite complex but it is just a sequence of calls to a 
generic subprocess that handles retry and manual error handling processing and 
these subprocesses all have continue="async" on.
 
We found that removing continue=async on our custom and task nodes in that 
subprocess caused the Constraint Violation to be reproducable every time. 
Adding continue=async solved the issue so presumably forcing the subprocess 
state to persist to the DB somehow prevents the duplicate ID generation. But 
its flaky.
 
However just this morning for example l ran our test and it failed at the very 
start with this same Constraint violation again. The process is started and the 
first step is a <java> with continue="async". We had to add this so the caller 
will get immediate return and not wait for the process. We tried adding 
continue="async" on the <start> but we get NullPointerException then (its been 
like that since 4.1) so we have this Java activity which just logs a message 
and then moves onto the first subprocess call. At this first java activity we 
got our Constraint Violation so it happened when jbpm attempted to persist the 
main process (not subprocess). We invoke (create) our processes using MDB's and 
in this case the second time the MDB was fired and tried to create the process 
it worked.......
 
We are using out of the box job executor with no changes so according to the 
docs that is 3 threads (but I have not had time to verify that). We are running 
on WLS 11g but I am unable at the moment to verify which JTA configuration we 
should be using. As soon as you mention transactions on this forum it all goes 
quiet. All the questions remain unanswered. I added a previous (unanswered) 
post about this a few days ago.
 
We are due to deliver into end to end testing next Friday but to be honest 
given the current status that seems increasingly unlikey as that environment is 
clustered etc etc and we cant even get this to run properly on a single WLS 
instance at the moment.
 
Will update with any further findings !.
 
One option might be to write our own ID Generator and use an Oracle sequence 
but not sure how much effort that will be. But it might be an option we have to 
consider.
 
Cheers
MP

--------------------------------------------------------------

To reply to this message visit the message page: 
http://community.jboss.org/message/522457#522457


_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to