1 Reply Latest reply on Jul 4, 2008 3:21 AM by ramkumar.k

    Lock wait timeout exceeded probelm with mysql

    fredxiao

      hi,

      I'm having problem of starting a process, I'm using spring module to intergrate spring, hibernate and jbpm,database is mysql innodb, for transaction it's using <tx:annotation-driven/>.

      The function to create a processinstance is wrapped in @Transactional tag and I can see transaction lauchned successfully each time from the log entries.

      All works fine except to start a new process, for few cases I got following errors:
      org.springframework.dao.CannotAcquireLockException: Hibernate operation: could not insert: [org.jbpm.graph.exe.ProcessInstance]; SQL [insert into JBPM_PROCESSINSTANCE (VERSION_, START_, END_, ISSUSPENDED_, PROCESSDEFINITION_, ROOTTOKEN_, SUPERPROCESSTOKEN_) values (?, ?, ?, ?, ?, ?, ?)]; Lock wait timeout exceeded; try restarting transaction; nested exception is java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction

      java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2941) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)

      But it works out in my independent test case so I believe the configuration clips for jbpm and transaction should be fine. Also, please note it just happens few times.

      Does any body here experience a similar problem or anybody could give me some clues? I was getting crzay on this issue.

      tks in advance.