5 Replies Latest reply on Feb 17, 2010 7:25 AM by Bwi Chen

    cannot end the process (jbpm 4.3)

    Bwi Chen Newbie

      hi

      i work with jbpm 4.3

      os:windows 2000

      db:mysql5

       

      i created a process and it include three sub-processes(fork), when any one of sub-processes reject, the main process will go to End.

      i hit exception:Cannot delete or update a parent row: a foreign key constraint fails

       

      it happen because jbpm do not delete tasks of sub-processes(others, and thay not end yet).

      when i delete the relation from db, it won't happen. but many task info still in db.

       

      is that a bug of jbpm4.3?

       

      what can i do?

      please help me.

       

      thank you very much.

       

       

      log

      11:26:11,286 DEBUG [org.jbpm.pvm.internal.query.TaskQueryImpl] setting
      parameter assignee: user2
      11:26:11,286 DEBUG [org.jbpm.pvm.internal.tx.HibernateSessionResource]
      ----- committing hibernate tx 20229682
      -------------------------------------------------------
      11:26:11,286 DEBUG [org.jbpm.pvm.internal.tx.HibernateSessionResource]
      ----- beginning hibernate tx 15203587
      --------------------------------------------------------
      11:26:11,296 DEBUG [org.jbpm.pvm.internal.tx.HibernateSessionResource]
      ----- committing hibernate tx 25584663
      -------------------------------------------------------
      11:26:11,296 DEBUG [org.jbpm.pvm.internal.tx.HibernateSessionResource]
      ----- beginning hibernate tx 26866755
      --------------------------------------------------------
      11:26:11,536 DEBUG [org.jbpm.pvm.internal.model.op.Signal] signalling
      activity(review), signalName=rejected
      11:26:11,546 DEBUG [org.jbpm.pvm.internal.model.op.ExecuteActivity]
      executing activity(rejected)
      11:26:11,546 DEBUG [org.jbpm.pvm.internal.model.ExecutionImpl]
      execution[SimpleSign.10015] ends with state ended
      11:26:11,656 DEBUG [org.jbpm.pvm.internal.model.op.Signal] signalling
      activity(Subprocess2), signalName=null
      11:26:11,656 DEBUG [org.jbpm.pvm.internal.model.op.ExecuteActivity]
      executing activity(join2)
      11:26:11,656 DEBUG [org.jbpm.pvm.internal.model.ExecutionImpl]
      execution[SimpleFork.10001.10007] ends
      11:26:11,667 DEBUG [org.jbpm.pvm.internal.id.DatabaseDbidGenerator] last id
      -2 was consumed.  acquiring new block...
      11:26:11,667 DEBUG [org.jbpm.pvm.internal.tx.HibernateSessionResource]
      ----- beginning hibernate tx 33032422
      --------------------------------------------------------
      11:26:11,677 DEBUG [org.jbpm.pvm.internal.tx.HibernateSessionResource]
      ----- committing hibernate tx 32813276
      -------------------------------------------------------
      11:26:11,697 DEBUG [org.jbpm.pvm.internal.id.DatabaseDbidGenerator]
      acquired new id block [20001-30000]
      11:26:11,697 DEBUG [org.jbpm.pvm.internal.id.DatabaseIdComposer] generated
      execution id SimpleFork.10001.20001
      11:26:11,697 DEBUG [org.jbpm.pvm.internal.model.ExecutionImpl] created
      execution[SimpleFork.10001.20001]
      11:26:11,697 DEBUG [org.jbpm.pvm.internal.model.op.ExecuteActivity]
      executing activity(end1)
      11:26:11,707 DEBUG [org.jbpm.pvm.internal.model.ExecutionImpl]
      execution[SimpleFork.10001] ends with state ended
      11:26:11,707 DEBUG [org.jbpm.pvm.internal.model.ExecutionImpl]
      execution[SimpleFork.10001.10004] ends with state ended
      11:26:11,707 DEBUG [org.jbpm.pvm.internal.model.ExecutionImpl]
      execution[SimpleFork.10001.10010] ends with state ended
      11:26:11,707 DEBUG [org.jbpm.pvm.internal.model.ExecutionImpl]
      execution[SimpleFork.10001.20001] ends with state ended
      11:26:11,727 ERROR [org.hibernate.util.JDBCExceptionReporter] Cannot delete
      or update a parent row: a foreign key constraint fails
      (`jbpmdb/jbpm4_execution`, CONSTRAINT `FK_EXEC_SUPEREXEC` FOREIGN KEY
      (`SUPEREXEC_`) REFERENCES `jbpm4_execution` (`DBID_`))
      11:26:11,727 ERROR [org.hibernate.event.def.AbstractFlushingEventListener]
      Could not synchronize database state with session
      org.hibernate.exception.ConstraintViolationException: could not delete:
      [org.jbpm.pvm.internal.model.ExecutionImpl#10004]
            at org.hibernate.exception.SQLStateConverter.convert(
      SQLStateConverter.java:94)
            at org.hibernate.exception.JDBCExceptionHelper.convert(
      JDBCExceptionHelper.java:66)
            at org.hibernate.persister.entity.AbstractEntityPersister.delete(
      AbstractEntityPersister.java:2569)
            at org.hibernate.persister.entity.AbstractEntityPersister.delete(
      AbstractEntityPersister.java:2725)
            at org.hibernate.action.EntityDeleteAction.execute(
      EntityDeleteAction.java:97)
            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:172)
            at
      org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(
      AbstractFlushingEventListener.java:321)
            at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(
      DefaultAutoFlushEventListener.java:64)
            at org.hibernate.impl.SessionImpl.autoFlushIfRequired(
      SessionImpl.java:996)
            at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1141)
            at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
            at org.hibernate.impl.AbstractQueryImpl.uniqueResult(
      AbstractQueryImpl.java:835)
            at
      org.jbpm.pvm.internal.hibernate.DbSessionImpl.findProcessInstanceByIdIgnoreSuspended(
      DbSessionImpl.java:211)
            at
      org.jbpm.pvm.internal.hibernate.DbSessionImpl.deleteProcessInstance(
      DbSessionImpl.java:251)
            at org.jbpm.pvm.internal.model.ExecutionImpl.end(
      ExecutionImpl.java:382)
            at org.jbpm.jpdl.internal.activity.EndActivity.execute(
      EndActivity.java:82)
            at org.jbpm.jpdl.internal.activity.EndActivity.execute(
      EndActivity.java:45)
            at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(
      ExecuteActivity.java:60)
            at
      org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(
      ExecutionImpl.java:656)
            at org.jbpm.pvm.internal.model.ExecutionImpl.fire(
      ExecutionImpl.java:566)
            at org.jbpm.pvm.internal.model.ExecutionImpl.take(
      ExecutionImpl.java:472)
            at org.jbpm.jpdl.internal.activity.JoinActivity.execute(
      JoinActivity.java:93)
            at org.jbpm.jpdl.internal.activity.JoinActivity.execute(
      JoinActivity.java:49)
            at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(
      ExecuteActivity.java:60)
            at
      org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(
      ExecutionImpl.java:656)
            at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(
      ExecutionImpl.java:616)
            at org.jbpm.pvm.internal.model.ExecutionImpl.signal(
      ExecutionImpl.java:417)
            at org.jbpm.pvm.internal.model.ExecutionImpl.signal(
      ExecutionImpl.java:399)
            at org.jbpm.pvm.internal.model.ExecutionImpl.end(
      ExecutionImpl.java:379)
            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:585)
            at
      org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(
      JavassistLazyInitializer.java:197)
            at
      org.jbpm.pvm.internal.model.ExecutionImpl_$$_javassist_31.end(ExecutionImpl_$$_javassist_31.java)
            at org.jbpm.jpdl.internal.activity.EndActivity.execute(
      EndActivity.java:82)
            at org.jbpm.jpdl.internal.activity.EndActivity.execute(
      EndActivity.java:45)
            at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(
      ExecuteActivity.java:60)
            at
      org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(
      ExecutionImpl.java:656)
            at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(
      ExecutionImpl.java:616)
            at org.jbpm.pvm.internal.model.ExecutionImpl.signal(
      ExecutionImpl.java:417)
            at org.jbpm.pvm.internal.model.ExecutionImpl.signal(
      ExecutionImpl.java:403)
            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:585)
            at
      org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(
      JavassistLazyInitializer.java:197)
            at
      org.jbpm.pvm.internal.model.ExecutionImpl_$$_javassist_31.signal(ExecutionImpl_$$_javassist_31.java)
            at org.jbpm.pvm.internal.task.TaskImpl.complete(TaskImpl.java:194)
            at org.jbpm.pvm.internal.cmd.CompleteTaskCmd.execute(
      CompleteTaskCmd.java:65)
            at org.jbpm.pvm.internal.cmd.CompleteTaskCmd.execute(
      CompleteTaskCmd.java:32)
            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.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.svc.TaskServiceImpl.completeTask(
      TaskServiceImpl.java:96)
            at samples.test.FlowServiceImpl.approve(FlowServiceImpl.java:33)
            at
      samples.test.FlowServiceImpl$$FastClassByCGLIB$$12bcdbb0.invoke(<generated>)
            at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
            at
      org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(
      Cglib2AopProxy.java:700)
            at
      org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
      ReflectiveMethodInvocation.java:149)
            at
      org.springframework.transaction.interceptor.TransactionInterceptor.invoke(
      TransactionInterceptor.java:106)
            at
      org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
      ReflectiveMethodInvocation.java:171)
            at
      org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(
      Cglib2AopProxy.java:635)
            at
      samples.test.FlowServiceImpl$$EnhancerByCGLIB$$8bf75daa.approve(<generated>)
            at samples.test.LoopTest.testApproveTask(LoopTest.java:90)
            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:585)
            at org.testng.internal.MethodHelper.invokeMethod(
      MethodHelper.java:644)
            at org.testng.internal.Invoker.invokeMethod(Invoker.java:557)
            at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:711)
            at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1013)
            at org.testng.internal.TestMethodWorker.invokeTestMethods(
      TestMethodWorker.java:137)
            at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121
      )
            at org.testng.TestRunner.runWorkers(TestRunner.java:908)
            at org.testng.TestRunner.privateRun(TestRunner.java:617)
            at org.testng.TestRunner.run(TestRunner.java:498)
            at org.testng.SuiteRunner.runTest(SuiteRunner.java:329)
            at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:324)
            at org.testng.SuiteRunner.privateRun(SuiteRunner.java:296)
            at org.testng.SuiteRunner.run(SuiteRunner.java:201)
            at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:915)
            at org.testng.TestNG.runSuitesLocally(TestNG.java:879)
            at org.testng.TestNG.run(TestNG.java:787)
            at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:75)
            at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:127)
      Caused by:
      com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
      Cannot delete or update a parent row: a foreign key constraint fails
      (`jbpmdb/jbpm4_execution`, CONSTRAINT `FK_EXEC_SUPEREXEC` FOREIGN KEY
      (`SUPEREXEC_`) REFERENCES `jbpm4_execution` (`DBID_`))
            at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
            at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
            at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
            at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
            at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
            at com.mysql.jdbc.PreparedStatement.executeInternal(
      PreparedStatement.java:1332)
            at com.mysql.jdbc.PreparedStatement.executeUpdate(
      PreparedStatement.java:1604)
            at com.mysql.jdbc.PreparedStatement.executeUpdate(
      PreparedStatement.java:1519)
            at com.mysql.jdbc.PreparedStatement.executeUpdate(
      PreparedStatement.java:1504)
            at org.hibernate.persister.entity.AbstractEntityPersister.delete(
      AbstractEntityPersister.java:2551)
            ... 89 more
      11:26:11,767 INFO  [org.jbpm.pvm.internal.svc.DefaultCommandService]
      exception while executing command
      org.jbpm.pvm.internal.cmd.CompleteTaskCmd@18590c5
      org.hibernate.exception.ConstraintViolationException: could not delete:
      [org.jbpm.pvm.internal.model.ExecutionImpl#10004]
            at org.hibernate.exception.SQLStateConverter.convert(
      SQLStateConverter.java:94)
            at org.hibernate.exception.JDBCExceptionHelper.convert(
      JDBCExceptionHelper.java:66)
            at org.hibernate.persister.entity.AbstractEntityPersister.delete(
      AbstractEntityPersister.java:2569)
            at org.hibernate.persister.entity.AbstractEntityPersister.delete(
      AbstractEntityPersister.java:2725)
            at org.hibernate.action.EntityDeleteAction.execute(
      EntityDeleteAction.java:97)
            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:172)
            at
      org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(
      AbstractFlushingEventListener.java:321)
            at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(
      DefaultAutoFlushEventListener.java:64)
            at org.hibernate.impl.SessionImpl.autoFlushIfRequired(
      SessionImpl.java:996)
            at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1141)
            at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
            at org.hibernate.impl.AbstractQueryImpl.uniqueResult(
      AbstractQueryImpl.java:835)
            at
      org.jbpm.pvm.internal.hibernate.DbSessionImpl.findProcessInstanceByIdIgnoreSuspended(
      DbSessionImpl.java:211)
            at
      org.jbpm.pvm.internal.hibernate.DbSessionImpl.deleteProcessInstance(
      DbSessionImpl.java:251)
            at org.jbpm.pvm.internal.model.ExecutionImpl.end(
      ExecutionImpl.java:382)
            at org.jbpm.jpdl.internal.activity.EndActivity.execute(
      EndActivity.java:82)
            at org.jbpm.jpdl.internal.activity.EndActivity.execute(
      EndActivity.java:45)
            at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(
      ExecuteActivity.java:60)
            at
      org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(
      ExecutionImpl.java:656)
            at org.jbpm.pvm.internal.model.ExecutionImpl.fire(
      ExecutionImpl.java:566)
            at org.jbpm.pvm.internal.model.ExecutionImpl.take(
      ExecutionImpl.java:472)
            at org.jbpm.jpdl.internal.activity.JoinActivity.execute(
      JoinActivity.java:93)
            at org.jbpm.jpdl.internal.activity.JoinActivity.execute(
      JoinActivity.java:49)
            at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(
      ExecuteActivity.java:60)
            at
      org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(
      ExecutionImpl.java:656)
            at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(
      ExecutionImpl.java:616)
            at org.jbpm.pvm.internal.model.ExecutionImpl.signal(
      ExecutionImpl.java:417)
            at org.jbpm.pvm.internal.model.ExecutionImpl.signal(
      ExecutionImpl.java:399)
            at org.jbpm.pvm.internal.model.ExecutionImpl.end(
      ExecutionImpl.java:379)
            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:585)
            at
      org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(
      JavassistLazyInitializer.java:197)
            at
      org.jbpm.pvm.internal.model.ExecutionImpl_$$_javassist_31.end(ExecutionImpl_$$_javassist_31.java)
            at org.jbpm.jpdl.internal.activity.EndActivity.execute(
      EndActivity.java:82)
            at org.jbpm.jpdl.internal.activity.EndActivity.execute(
      EndActivity.java:45)
            at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(
      ExecuteActivity.java:60)
            at
      org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(
      ExecutionImpl.java:656)
            at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(
      ExecutionImpl.java:616)
            at org.jbpm.pvm.internal.model.ExecutionImpl.signal(
      ExecutionImpl.java:417)
            at org.jbpm.pvm.internal.model.ExecutionImpl.signal(
      ExecutionImpl.java:403)
            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:585)
            at
      org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(
      JavassistLazyInitializer.java:197)
            at
      org.jbpm.pvm.internal.model.ExecutionImpl_$$_javassist_31.signal(ExecutionImpl_$$_javassist_31.java)
            at org.jbpm.pvm.internal.task.TaskImpl.complete(TaskImpl.java:194)
            at org.jbpm.pvm.internal.cmd.CompleteTaskCmd.execute(
      CompleteTaskCmd.java:65)
            at org.jbpm.pvm.internal.cmd.CompleteTaskCmd.execute(
      CompleteTaskCmd.java:32)
            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.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.svc.TaskServiceImpl.completeTask(
      TaskServiceImpl.java:96)
            at samples.test.FlowServiceImpl.approve(FlowServiceImpl.java:33)
            at
      samples.test.FlowServiceImpl$$FastClassByCGLIB$$12bcdbb0.invoke(<generated>)
            at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
            at
      org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(
      Cglib2AopProxy.java:700)
            at
      org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
      ReflectiveMethodInvocation.java:149)
            at
      org.springframework.transaction.interceptor.TransactionInterceptor.invoke(
      TransactionInterceptor.java:106)
            at
      org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
      ReflectiveMethodInvocation.java:171)
            at
      org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(
      Cglib2AopProxy.java:635)
            at
      samples.test.FlowServiceImpl$$EnhancerByCGLIB$$8bf75daa.approve(<generated>)
            at samples.test.LoopTest.testApproveTask(LoopTest.java:90)
            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:585)
            at org.testng.internal.MethodHelper.invokeMethod(
      MethodHelper.java:644)
            at org.testng.internal.Invoker.invokeMethod(Invoker.java:557)
            at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:711)
            at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1013)
            at org.testng.internal.TestMethodWorker.invokeTestMethods(
      TestMethodWorker.java:137)
            at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121
      )
            at org.testng.TestRunner.runWorkers(TestRunner.java:908)
            at org.testng.TestRunner.privateRun(TestRunner.java:617)
            at org.testng.TestRunner.run(TestRunner.java:498)
            at org.testng.SuiteRunner.runTest(SuiteRunner.java:329)
            at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:324)
            at org.testng.SuiteRunner.privateRun(SuiteRunner.java:296)
            at org.testng.SuiteRunner.run(SuiteRunner.java:201)
            at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:915)
            at org.testng.TestNG.runSuitesLocally(TestNG.java:879)
            at org.testng.TestNG.run(TestNG.java:787)
            at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:75)
            at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:127)
      Caused by:
      com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
      Cannot delete or update a parent row: a foreign key constraint fails
      (`jbpmdb/jbpm4_execution`, CONSTRAINT `FK_EXEC_SUPEREXEC` FOREIGN KEY
      (`SUPEREXEC_`) REFERENCES `jbpm4_execution` (`DBID_`))
            at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
            at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
            at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
            at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
            at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
            at com.mysql.jdbc.PreparedStatement.executeInternal(
      PreparedStatement.java:1332)
            at com.mysql.jdbc.PreparedStatement.executeUpdate(
      PreparedStatement.java:1604)
            at com.mysql.jdbc.PreparedStatement.executeUpdate(
      PreparedStatement.java:1519)
            at com.mysql.jdbc.PreparedStatement.executeUpdate(
      PreparedStatement.java:1504)
            at org.hibernate.persister.entity.AbstractEntityPersister.delete(
      AbstractEntityPersister.java:2551)
            ... 89 more
      11:26:11,787 DEBUG [org.jbpm.pvm.internal.tx.HibernateSessionResource]
      ----- rolling back hibernate tx 31691786
      -----------------------------------------------------
      11:26:11,807 DEBUG
      [org.springframework.orm.hibernate3.HibernateTransactionManager] Initiating
      transaction rollback
      11:26:11,807 DEBUG
      [org.springframework.orm.hibernate3.HibernateTransactionManager] Rolling
      back Hibernate transaction on Session
      [org.hibernate.impl.SessionImpl@e7bb91]
      11:26:11,807 DEBUG
      [org.springframework.orm.hibernate3.HibernateTransactionManager] Closing
      Hibernate Session [org.hibernate.impl.SessionImpl@e7bb91] after transaction
      11:26:11,807 DEBUG [org.springframework.orm.hibernate3.SessionFactoryUtils]
      Closing Hibernate Session