1 Reply Latest reply on Jan 12, 2010 12:05 PM by Priyesh Shah

    JBPM 4 with DB2 v9 on linux throws LockAcquisitionException when multiple job executors are configured

    Priyesh Shah Newbie

      Hello,

      I was wondering if anybody is using JBPM 4 with DB2 v9?

      Hibernate periodically throws LockAcquisitionException's and consequently other db related exceptions.

      I have tried modifying various hibernate properties but with no luck. Some of the properties I have tried modifying include:

       

          <property name="hibernate.cache.use_query_cache">false</property>    <property name="hibernate.cache.use_second_level_cache">false</property>    <property name="hibernate.connection.isolation">2</property>

       

      Appreciate any help.

      Thanks

      Priyesh

        • 1. Re: JBPM 4 with DB2 v9 on linux throws LockAcquisitionException when multiple job executors are configured
          Priyesh Shah Newbie

          I neglected to include the exception trace...

           

          16:59:24,359 WRN | [JDBCExceptionReporter] SQL Error: -911, SQLState: 40001

          16:59:24,359 SEV | [JDBCExceptionReporter] DB2 SQL error: SQLCODE: -911, SQLSTATE: 40001, SQLERRMC: 2

          ### EXCEPTION ###########################################

          16:59:24,359 SEV | [AbstractFlushingEventListener] Could not synchronize database state with session

          org.hibernate.exception.LockAcquisitionException

           

           

          SQLStateConverter.java:105)

          at org.hibernate.exception.JDBCExceptionHelper.convert(

           

          JDBCExceptionHelper.java:66)

          at org.hibernate.persister.entity.AbstractEntityPersister.update(

           

          AbstractEntityPersister.java:2453)

          at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(

           

          AbstractEntityPersister.java:2335)

          at org.hibernate.persister.entity.AbstractEntityPersister.update(

           

          AbstractEntityPersister.java:2635)

          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:1027)

          at org.jbpm.pvm.internal.model.DefaultIdGenerator.createId(

           

          DefaultIdGenerator.java:53)

          at org.jbpm.pvm.internal.model.ExecutionImpl.initializeProcessInstance(

           

          ExecutionImpl.java:184)

          at org.jbpm.pvm.internal.model.ProcessDefinitionImpl.createProcessInstance(

           

          ProcessDefinitionImpl.java:107)

          at org.jbpm.jpdl.internal.activity.SubProcessActivity.execute(

           

          SubProcessActivity.java:69)

          at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(

           

          ExecuteActivity.java:60)

          at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(

           

          ExecutionImpl.java:637)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(

           

          Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(

           

          NativeMethodAccessorImpl.java:39)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(

           

          DelegatingMethodAccessorImpl.java:25)

          at java.lang.reflect.Method.invoke(

           

          Method.java:597)

          at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(

           

          JavassistLazyInitializer.java:197)

          at org.jbpm.pvm.internal.model.ExecutionImpl_$$_javassist_4.performAtomicOperationSync(ExecutionImpl_$$_javassist_4.java)

          at org.jbpm.pvm.internal.model.op.ExecuteActivityMessage.execute(

           

          ExecuteActivityMessage.java:46)

          at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(

           

          ExecuteJobCmd.java:76)

          at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(

           

          ExecuteJobCmd.java:42)

          at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(

           

          DefaultCommandService.java:42)

          at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(

           

          StandardTransactionInterceptor.java:54)

          at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(

           

          EnvironmentInterceptor.java:46)

          at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(

           

          RetryInterceptor.java:55)

          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:886)

          at java.util.concurrent.ThreadPoolExecutor$Worker.run(

           

          ThreadPoolExecutor.java:908)

          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:2435)

          ... 35 more

          : could not update: [org.jbpm.pvm.internal.model.ExecutionImpl#5]

          at org.hibernate.exception.SQLStateConverter.convert(