[
https://issues.apache.org/activemq/browse/AMQ-2551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=58907#action_58907
]
Gary Tully commented on AMQ-2551:
---------------------------------
{code}2010-04-14 15:33:24,044 | WARN | Failure Details: Deadlock found when
trying to get lock; try restarting transaction |
org.apache.activemq.store.jdbc.JDBCPersistenceAdapter | ActiveMQ Cleanup Timer
com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock
found when trying to get lock; try restarting transaction
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1045)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)
at
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2046)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1964)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1949)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
at
org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doDeleteOldMessages(DefaultJDBCAdapter.java:617)
at
org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.cleanup(JDBCPersistenceAdapter.java:317)
at
org.apache.activemq.store.jdbc.JDBCPersistenceAdapter$4.run(JDBCPersistenceAdapter.java:287)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
2010-04-14 15:38:25,498 | WARN | Old message cleanup failed due to:
etc...{code}
> Locking issue with MySQL InnoDB
> -------------------------------
>
> Key: AMQ-2551
> URL: https://issues.apache.org/activemq/browse/AMQ-2551
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.3.0
> Reporter: Dejan Bosanac
>
> Using jdbc with Mysql InnoDB, can lead to following errors
> {code}Deadlock found when trying to get lock;try restarting transaction{code}
> and messages stuck in database.
> The problem is described here
> http://dev.mysql.com/doc/refman/5.0/en/innodb-lock-modes.html and is caused
> by unsynced cleanup task.
> Current workaround is to turn off cleanup task like this
> {code}<jdbcPersistenceAdapter dataSource="#mysql-ds" ...
> cleanupPeriod="0"/>{code}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira