You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Chun Wei Ho <cw...@gmail.com> on 2006/12/11 06:43:42 UTC

Deadlock found when trying to get lock (MySQL 5.0 with innodb)

Hi!

We are using apache ibatis with our MySQL 5.0 database (using innodb
tables), in our web application running on Tomcat 5. Recently we
started getting a number of errors relating to
java.sql.SQLException: Deadlock found when trying to get lock; Try
restarting transaction message from server: "Lock wait timeout
exceeded; try restarting transaction";

We get such errors generally on inserts or updates while applying a
parameter map - see full exception dump below. It takes a tomcat/web
application restart to fix the problem. We've checked "SHOW INNODB
STATUS" on our database and it does not show any deadlock errors (no
LAST DEADLOCK ERROR section).

We would appreciate any suggestions or ideas you have to fix or
alleviate this problem. Thanks :)


Full exception dump:
note: my.application.* is our application code

2006-12-08 23:48:32,347 ERROR [TP-Processor24]
servlet.FrameworkServlet (FrameworkServlet.java:412) - Could not
complete request
org.springframework.jdbc.UncategorizedSQLException: SqlMapClient
operation; uncategorized SQLException for SQL []; SQL state [41000];
error code [1205];
--- The error occurred in my/application/engine/dao/ibatis/maps/Section.xml.
--- The error occurred while applying a parameter map.
--- Check the updateSectionExperience-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: Deadlock found when trying to get
lock; Try restarting transaction message from server: "Lock wait
timeout exceeded; try restarting transaction"; nested exception is
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in my/application/engine/dao/ibatis/maps/Section.xml.
--- The error occurred while applying a parameter map.
--- Check the updateSectionExperience-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: Deadlock found when trying to get
lock; Try restarting transaction message from server: "Lock wait
timeout exceeded; try restarting transaction"
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in my/application/engine/dao/ibatis/maps/Section.xml.
--- The error occurred while applying a parameter map.
--- Check the updateSectionExperience-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: Deadlock found when trying to get
lock; Try restarting transaction message from server: "Lock wait
timeout exceeded; try restarting transaction"
Caused by: java.sql.SQLException: Deadlock found when trying to get
lock; Try restarting transaction message from server: "Lock wait
timeout exceeded; try restarting transaction"
	at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:91)
	at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:500)
	at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:85)
	at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.update(SqlMapClientImpl.java:62)
	at org.springframework.orm.ibatis.SqlMapClientTemplate$10.doInSqlMapClient(SqlMapClientTemplate.java:329)
	at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:165)
	at org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:327)
	at org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:349)
	at my.application.engine.dao.ibatis.SqlMapSectionDao.updateSectionExperience(Unknown
Source)
	at my.application.engine.domain.logic.SystemImpl.updateSectionExperience(Unknown
Source)
	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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
	at $Proxy0.updateSectionExperience(Unknown Source)
	at my.application.engine.web.SectionFormController.processFinish(Unknown
Source)
	at org.springframework.web.servlet.mvc.AbstractWizardFormController.validatePagesAndFinish(AbstractWizardFormController.java:667)
	at org.springframework.web.servlet.mvc.AbstractWizardFormController.processFormSubmission(AbstractWizardFormController.java:490)
	at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:259)
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
	at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: Deadlock found when trying to get
lock; Try restarting transaction message from server: "Lock wait
timeout exceeded; try restarting transaction"
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1997)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:2247)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1371)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:168)
	at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:62)
	at $Proxy3.execute(Unknown Source)
	at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:84)
	at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:200)
	at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78)
	... 58 more

Caused by:
java.sql.SQLException: Deadlock found when trying to get lock; Try
restarting transaction message from server: "Lock wait timeout
exceeded; try restarting transaction"
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1997)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:2247)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1371)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:168)
	at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:62)
	at $Proxy3.execute(Unknown Source)
	at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:84)
	at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:200)
	at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78)
	at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:500)
	at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:85)
	at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.update(SqlMapClientImpl.java:62)
	at org.springframework.orm.ibatis.SqlMapClientTemplate$10.doInSqlMapClient(SqlMapClientTemplate.java:329)
	at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:165)
	at org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:327)
	at org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:349)
	at my.application.engine.dao.ibatis.SqlMapSectionDao.updateSectionExperience(Unknown
Source)
	at my.application.engine.domain.logic.SystemImpl.updateSectionExperience(Unknown
Source)
	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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
	at $Proxy0.updateSectionExperience(Unknown Source)
	at my.application.engine.web.SectionFormController.processFinish(Unknown
Source)
	at org.springframework.web.servlet.mvc.AbstractWizardFormController.validatePagesAndFinish(AbstractWizardFormController.java:667)
	at org.springframework.web.servlet.mvc.AbstractWizardFormController.processFormSubmission(AbstractWizardFormController.java:490)
	at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:259)
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
	at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:595)

Re: [JDBC type = ARRAY / Java type = ?] Deadlock found when trying to get lock (MySQL 5.0 with innodb)

Posted by cmose <cj...@gmail.com>.
No worries, and in all liklihood it isn't an ibatis specific bug, I had just
held out hope that someone else might have encountered the issue and arrived
at a solution. I've tried both simple and dbcp data sources witht the same
results and I'm currently using mysql with innodb tables and row level
locking...Just not sure what I might be able to set on the datasource that
could have some impact on the situation.

Thanks again for your insight, appreciate it.


Koka Kiknadze wrote:
> 
> I bet noone believes it's an iBatis problem. iBatis is database agnostic,
> and if there were some general locking issues with inserts/updates they'll
> affect every user on this list.
> 
> I've not used MSQL for years, any chance its not using row level locking
> in
> your configuration? Have you tryed SIMPLE datasource instead of DBCP, or
> different JDBC driver? These are things I'd try if I were sure  that locks
> are not because of bugs in my application, and if looking into ibatis logs
> revealed nothing...
> 
> Not quite helpful, sry
> 
> 

-- 
View this message in context: http://www.nabble.com/Deadlock-found-when-trying-to-get-lock-%28MySQL-5.0-with-innodb%29-tf2792164.html#a9103064
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Re: [JDBC type = ARRAY / Java type = ?] Deadlock found when trying to get lock (MySQL 5.0 with innodb)

Posted by Koka Kiknadze <22...@gmail.com>.
I bet noone believes it's an iBatis problem. iBatis is database agnostic,
and if there were some general locking issues with inserts/updates they'll
affect every user on this list.

I've not used MSQL for years, any chance its not using row level locking in
your configuration? Have you tryed SIMPLE datasource instead of DBCP, or
different JDBC driver? These are things I'd try if I were sure  that locks
are not because of bugs in my application, and if looking into ibatis logs
revealed nothing...

Not quite helpful, sry

Re: [JDBC type = ARRAY / Java type = ?] Deadlock found when trying to get lock (MySQL 5.0 with innodb)

Posted by cmose <cj...@gmail.com>.
Did no one ever find a solution to this? I'm getting it left and right when
an application crashes and is then restarted... Any advice would be greatly
appreciated!


Chun Wei Ho wrote:
> 
> Hi!
> 
> We are using apache ibatis with our MySQL 5.0 database (using innodb
> tables), in our web application running on Tomcat 5. Recently we
> started getting a number of errors relating to
> java.sql.SQLException: Deadlock found when trying to get lock; Try
> restarting transaction message from server: "Lock wait timeout
> exceeded; try restarting transaction";
> 
> We get such errors generally on inserts or updates while applying a
> parameter map - see full exception dump below. It takes a tomcat/web
> application restart to fix the problem. We've checked "SHOW INNODB
> STATUS" on our database and it does not show any deadlock errors (no
> LAST DEADLOCK ERROR section).
> 
> We would appreciate any suggestions or ideas you have to fix or
> alleviate this problem. Thanks :)
> 
> 
> Full exception dump:
> note: my.application.* is our application code
> 
> 2006-12-08 23:48:32,347 ERROR [TP-Processor24]
> servlet.FrameworkServlet (FrameworkServlet.java:412) - Could not
> complete request
> org.springframework.jdbc.UncategorizedSQLException: SqlMapClient
> operation; uncategorized SQLException for SQL []; SQL state [41000];
> error code [1205];
> --- The error occurred in
> my/application/engine/dao/ibatis/maps/Section.xml.
> --- The error occurred while applying a parameter map.
> --- Check the updateSectionExperience-InlineParameterMap.
> --- Check the statement (update failed).
> --- Cause: java.sql.SQLException: Deadlock found when trying to get
> lock; Try restarting transaction message from server: "Lock wait
> timeout exceeded; try restarting transaction"; nested exception is
> com.ibatis.common.jdbc.exception.NestedSQLException:
> --- The error occurred in
> my/application/engine/dao/ibatis/maps/Section.xml.
> --- The error occurred while applying a parameter map.
> --- Check the updateSectionExperience-InlineParameterMap.
> --- Check the statement (update failed).
> --- Cause: java.sql.SQLException: Deadlock found when trying to get
> lock; Try restarting transaction message from server: "Lock wait
> timeout exceeded; try restarting transaction"
> com.ibatis.common.jdbc.exception.NestedSQLException:
> --- The error occurred in
> my/application/engine/dao/ibatis/maps/Section.xml.
> --- The error occurred while applying a parameter map.
> --- Check the updateSectionExperience-InlineParameterMap.
> --- Check the statement (update failed).
> --- Cause: java.sql.SQLException: Deadlock found when trying to get
> lock; Try restarting transaction message from server: "Lock wait
> timeout exceeded; try restarting transaction"
> Caused by: java.sql.SQLException: Deadlock found when trying to get
> lock; Try restarting transaction message from server: "Lock wait
> timeout exceeded; try restarting transaction"
> 	at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:91)
> 	at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:500)
> 	at
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:85)
> 	at
> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.update(SqlMapClientImpl.java:62)
> 	at
> org.springframework.orm.ibatis.SqlMapClientTemplate$10.doInSqlMapClient(SqlMapClientTemplate.java:329)
> 	at
> org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:165)
> 	at
> org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:327)
> 	at
> org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:349)
> 	at
> my.application.engine.dao.ibatis.SqlMapSectionDao.updateSectionExperience(Unknown
> Source)
> 	at
> my.application.engine.domain.logic.SystemImpl.updateSectionExperience(Unknown
> Source)
> 	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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)
> 	at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
> 	at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
> 	at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
> 	at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
> 	at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
> 	at $Proxy0.updateSectionExperience(Unknown Source)
> 	at my.application.engine.web.SectionFormController.processFinish(Unknown
> Source)
> 	at
> org.springframework.web.servlet.mvc.AbstractWizardFormController.validatePagesAndFinish(AbstractWizardFormController.java:667)
> 	at
> org.springframework.web.servlet.mvc.AbstractWizardFormController.processFormSubmission(AbstractWizardFormController.java:490)
> 	at
> org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:259)
> 	at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
> 	at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
> 	at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
> 	at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
> 	at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
> 	at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
> 	at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
> 	at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
> 	at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
> 	at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
> 	at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
> 	at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> 	at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> 	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
> 	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
> 	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
> 	at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
> 	at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
> 	at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.sql.SQLException: Deadlock found when trying to get
> lock; Try restarting transaction message from server: "Lock wait
> timeout exceeded; try restarting transaction"
> 	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1997)
> 	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167)
> 	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278)
> 	at com.mysql.jdbc.Connection.execSQL(Connection.java:2247)
> 	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1371)
> 	at
> org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:168)
> 	at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at
> com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:62)
> 	at $Proxy3.execute(Unknown Source)
> 	at
> com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:84)
> 	at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:200)
> 	at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78)
> 	... 58 more
> 
> Caused by:
> java.sql.SQLException: Deadlock found when trying to get lock; Try
> restarting transaction message from server: "Lock wait timeout
> exceeded; try restarting transaction"
> 	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1997)
> 	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167)
> 	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278)
> 	at com.mysql.jdbc.Connection.execSQL(Connection.java:2247)
> 	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1371)
> 	at
> org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:168)
> 	at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at
> com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:62)
> 	at $Proxy3.execute(Unknown Source)
> 	at
> com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:84)
> 	at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:200)
> 	at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78)
> 	at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:500)
> 	at
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:85)
> 	at
> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.update(SqlMapClientImpl.java:62)
> 	at
> org.springframework.orm.ibatis.SqlMapClientTemplate$10.doInSqlMapClient(SqlMapClientTemplate.java:329)
> 	at
> org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:165)
> 	at
> org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:327)
> 	at
> org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:349)
> 	at
> my.application.engine.dao.ibatis.SqlMapSectionDao.updateSectionExperience(Unknown
> Source)
> 	at
> my.application.engine.domain.logic.SystemImpl.updateSectionExperience(Unknown
> Source)
> 	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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)
> 	at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
> 	at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
> 	at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
> 	at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
> 	at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
> 	at $Proxy0.updateSectionExperience(Unknown Source)
> 	at my.application.engine.web.SectionFormController.processFinish(Unknown
> Source)
> 	at
> org.springframework.web.servlet.mvc.AbstractWizardFormController.validatePagesAndFinish(AbstractWizardFormController.java:667)
> 	at
> org.springframework.web.servlet.mvc.AbstractWizardFormController.processFormSubmission(AbstractWizardFormController.java:490)
> 	at
> org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:259)
> 	at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
> 	at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
> 	at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:717)
> 	at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658)
> 	at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
> 	at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
> 	at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
> 	at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
> 	at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
> 	at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
> 	at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
> 	at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> 	at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> 	at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> 	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
> 	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
> 	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
> 	at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
> 	at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
> 	at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> 	at java.lang.Thread.run(Thread.java:595)
> 
> 

-- 
View this message in context: http://www.nabble.com/Deadlock-found-when-trying-to-get-lock-%28MySQL-5.0-with-innodb%29-tf2792164.html#a9101651
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.