[jboss-user] [jBPM] New message: "Re: jbpm 4.3 - org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update"

Zengping Tian do-not-reply at jboss.com
Thu Jan 21 15:31:47 EST 2010


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/521559#521559

Author  : Zengping Tian
Profile : http://community.jboss.org/people/zptian

Message:
--------------------------------------------------------------
Hi Martin
 
Think we have similar issues. Have read through your issue reported in: https://jira.jboss.org/jira/browse/JBPM-2706. Think they're more or less the same underlying issue.
 
In our case, we have may process which has several sub-processes and the sub-process actually executes some java/decision activities. THe sub-processes and the java activies are marked as 'async'.
 
In our test we have 4 job executors.
 
 when using on HSQL, we run into violation of unique constraint, eg,
 
+Caused by: java.sql.SQLException: Violation of unique constraint $$: duplicate value  for column  $$: SYS_CT_107322 in statement [update JBPM4_EXECUTION set DBVERSION_=?, ACTIVITYNAME_=?, PROCDEFID_=?, HASVARS_=?, NAME_=?, KEY_=?, ID_=?, STATE_=?, SUSPHISTSTATE_=?, PRIORITY_=?, HISACTINST_=?, PARENT_=?, INSTANCE_=?, SUPEREXEC_=?, SUBPROCINST_=? where DBID_=? and DBVERSION_=?]
+
if we run it on DB2, it gives deadlock issue(which i posted in this forum yesterday):
 
+### EXCEPTION ###########################################
19:57:51,203 SEV                 | [AbstractFlushingEventListener] Could not synchronize database state with session
org.hibernate.exception.LockAcquisitionException: pool-1-thread-5: could not update: [org.jbpm.pvm.internal.model.ExecutionImpl#166]
 at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:105)
 at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
 at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2466)
 at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2340)
 at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2653)
 at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)
 at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
 at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
 at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
 at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
 at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
 at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
 at org.jbpm.pvm.internal.tx.HibernateSessionResource.prepare(HibernateSessionResource.java:56)
 at org.jbpm.pvm.internal.tx.StandardTransaction.commit(StandardTransaction.java:107)
 at org.jbpm.pvm.internal.tx.StandardTransaction.complete(StandardTransaction.java:64)
 at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:61)
 at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
 at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
 at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
 at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)
 at org.jbpm.pvm.internal.jobexecutor.JobParcel.run(JobParcel.java:48)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
 at java.lang.Thread.run(Thread.java:619)
Caused by: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -911, SQLSTATE: 40001, SQLERRMC: 2
 at com.ibm.db2.jcc.c.kh.c(kh.java:1660)
 at com.ibm.db2.jcc.b.db.s(db.java:875)
 at com.ibm.db2.jcc.b.db.k(db.java:387)
 at com.ibm.db2.jcc.b.db.a(db.java:60)
 at com.ibm.db2.jcc.b.t.a(t.java:52)
 at com.ibm.db2.jcc.b.tb.b(tb.java:202)
 at com.ibm.db2.jcc.c.lh.X(lh.java:1842)
 at com.ibm.db2.jcc.c.lh.d(lh.java:2411)
 at com.ibm.db2.jcc.c.lh.T(lh.java:465)
 at com.ibm.db2.jcc.c.lh.executeUpdate(lh.java:448)
 at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2448)
 ... 24 more+

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

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




More information about the jboss-user mailing list