Quantcast

Failure obtaining db row lock

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Failure obtaining db row lock

popianovka
I using Quartz 1.6.0 with JBoss 4.05 and MySQL 5. Hopfully someone had the same problem already.

The following SQL-Exceptions appear after one minute! I tried to schedule a job for 15:00 o'clock in the Database. I could not find any error log from the DB, but I could see that quarts tryed the following statement:
---
SELECT * FROM QRTZ_LOCKS WHERE LOCKNAME ='TRIGGER_ACCESS' FOR UPDATE
---
[b]13:38:20,630 [/b]INFO  [RequestEnd] REQ-6: completed
[b]13:39:11,969[/b] ERROR [ErrorLogger] An error occured while scanning for the next trigger to fire.
org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Lock wait timeout exceeded; try restarting transaction [See nested exception: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction]
        at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.executeSQL(StdRowLockSemaphore.java:112)
        at org.quartz.impl.jdbcjobstore.DBSemaphore.obtainLock(DBSemaphore.java:112)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3655)
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobStoreSupport.java:2654)
        at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:235)
Caused by: 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)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1268)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1403)
        at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:236)
        at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.executeSQL(StdRowLockSemaphore.java:92)
        ... 4 more
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=262150&messageID=343203#343203


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Failure obtaining db row lock

popianovka
I searched a bit more and found that the following error message has to do with the following mysql log.

13:15:59,889 ERROR [ErrorLogger] An error occured while scanning for the next trigger to fire.
org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Lock wait timeout exceeded; try restarting transaction [See nested exception: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction]

44 Query       SELECT COUNT(TRIGGER_NAME) FROM QRTZ_TRIGGERS WHERE NEXT_FIRE_TIME < 1206015266045 AND ((TRIGGER_STATE = 'MISFIRED') OR (TRIGGER_STATE = 'WAITING'))
44 Query       commit
45 Query       rollback
45 Query       SELECT COUNT(TRIGGER_NAME) FROM QRTZ_TRIGGERS WHERE NEXT_FIRE_TIME < 1206015326045 AND ((TRIGGER_STATE = 'MISFIRED') OR (TRIGGER_STATE = 'WAITING'))
45 Query       commit

hopefully someone could help me.
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=262150&messageID=346091#346091


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Loading...