0 Replies Latest reply on Jun 29, 2009 1:45 PM by johndvm

    do timers and multithreaded environment cause db deadlocking

    johndvm

      I was wondering if there were any issues with using timers and multi-threaded execution.

      I am using JBPM 3.2.6-SP1 and it seems like when I run two threads through my process workflow, I get a database deadlock.

      It seems like 1 thread is holding open a transaction for the duration of the entire workflow, and has locked the JBPM_JOB table, and another thread starts and as it tries to transition between stages, it tries to delete from the JBPM_JOB table, and the entire thing gets deadlocked. It appears the problem is with trying to delete the timer at the same node.

      org.jbpm.JbpmException: could not delete timers by name 'validate' for Token(/)
      at org.jbpm.db.JobSession.deleteTimersByName(JobSession.java:216)
      at org.jbpm.scheduler.db.DbSchedulerService.deleteTimersByName(DbSchedulerService.java:64)
      at org.jbpm.scheduler.def.CancelTimerAction.execute(CancelTimerAction.java:46)
      at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:281)

      Is this something that is known, or have other people been able to use JBPM with timers in a multi-threaded environment?