Re: deadlocks with castor

David Darras <[email protected]>
Newsgroups gmane.comp.cms.infoglue.devel
Message-ID <[email protected]>
Hi,

Thanks for your answer Mattias. Mysqldump was locking the database to 
save it every 6 hours,  so castor couldn't acquire locks during this 
time. As we had a big increase of users a few days ago, we didn't have 
the problem before.

Best regards,
David Darras

Bogeblad Mattias a écrit :
> Hi,
>
> Strange - no recent updates of the system or your own additions? Can you see if there are any locks still in the database after a restart? Could any other servers aquire the locks? 
>
> Regards
> Mattias Bogeblad
>
> -----Original Message-----
> From: David Darras [mailto:[email protected]] 
> Sent: den 9 februari 2009 12:50
> To: [email protected]
> Subject: [Infoglue-developer] deadlocks with castor
>
> Hello,
>
> We're having problems with infoglue's backend for a few days now. 
> Sometimes, the backend hangs for a short period when trying to update a 
> content. Here is the log:
>
> 09 févr. 2009 12:06:05.922 [ERROR] [TP-Processor9] 
> [org.infoglue.cms.controllers.kernel.impl.simple.ContentVersionController] 
> - An error occurred so we should not completes the 
> transaction:org.exolab.castor.jdo.LockNotGrantedException: Deadlock has 
> been detected while attempting to acquire a lock
> org.exolab.castor.jdo.LockNotGrantedException: Deadlock has been 
> detected while attempting to acquire a lock
>         at 
> org.exolab.castor.persist.ObjectLock.detectDeadlock(ObjectLock.java:983)
>         at org.exolab.castor.persist.ObjectLock.upgrade(ObjectLock.java:770)
>         at 
> org.exolab.castor.persist.LockEngine$TypeInfo.upgrade(LockEngine.java:1324)
>         at 
> org.exolab.castor.persist.LockEngine$TypeInfo.access$600(LockEngine.java:1055)
>         at 
> org.exolab.castor.persist.LockEngine.softLock(LockEngine.java:832)
>         at 
> org.exolab.castor.persist.TransactionContext.delete(TransactionContext.java:1269)
>         at 
> org.exolab.castor.jdo.engine.DatabaseImpl.remove(DatabaseImpl.java:420)
>         at 
> org.infoglue.cms.controllers.kernel.impl.simple.RegistryController.clearRegistryVOList(RegistryController.java:1338)
>         at 
> org.infoglue.cms.controllers.kernel.impl.simple.RegistryController.updateContentVersion(RegistryController.java:224)
>         at 
> org.infoglue.cms.controllers.kernel.impl.simple.ContentVersionController.update(ContentVersionController.java:1034)
>         at 
> org.infoglue.cms.controllers.kernel.impl.simple.ContentVersionController.updateAttributeValue(ContentVersionController.java:1537)
>         at 
> org.infoglue.cms.applications.contenttool.actions.ViewRelationEditorAction.updateAttributeValue(ViewRelationEditorAction.java:359)
>         at 
> org.infoglue.cms.applications.contenttool.actions.ViewRelationEditorAction.doUpdateQualifyer(ViewRelationEditorAction.java:271)
>         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.infoglue.cms.applications.common.actions.WebworkAbstractAction.invokeCommand(WebworkAbstractAction.java:284)
>         at 
> org.infoglue.cms.applications.common.actions.WebworkAbstractAction.execute(WebworkAbstractAction.java:113)
>         at 
> webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:131)
>         at 
> webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:174)
>         at 
> org.infoglue.deliver.portal.dispatcher.DeliveryServletDispatcher.service(DeliveryServletDispatcher.java:66)
>         at 
> org.infoglue.deliver.portal.dispatcher.PortalServletDispatcher.service(PortalServletDispatcher.java:176)
>         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.infoglue.cms.security.InfoGlueAuthenticationFilter.doFilter(InfoGlueAuthenticationFilter.java:185)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.infoglue.cms.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:129)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.infoglue.deliver.applications.filters.CacheEvictionFilter.doFilter(CacheEvictionFilter.java:92)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at 
> org.jstripe.tomcat.probe.Tomcat55AgentValve.invoke(Tomcat55AgentValve.java:20)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
>         at 
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
>         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
>         at 
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
>         at 
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> org.infoglue.cms.exception.SystemException: Deadlock has been detected 
> while attempting to acquire a lock
>         at 
> org.infoglue.cms.controllers.kernel.impl.simple.ContentVersionController.update(ContentVersionController.java:1050)
>         at 
> org.infoglue.cms.controllers.kernel.impl.simple.ContentVersionController.updateAttributeValue(ContentVersionController.java:1537)
>         at 
> org.infoglue.cms.applications.contenttool.actions.ViewRelationEditorAction.updateAttributeValue(ViewRelationEditorAction.java:359)
>         at 
> org.infoglue.cms.applications.contenttool.actions.ViewRelationEditorAction.doUpdateQualifyer(ViewRelationEditorAction.java:271)
>         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.infoglue.cms.applications.common.actions.WebworkAbstractAction.invokeCommand(WebworkAbstractAction.java:284)
>         at 
> org.infoglue.cms.applications.common.actions.WebworkAbstractAction.execute(WebworkAbstractAction.java:113)
>         at 
> webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:131)
>         at 
> webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:174)
>         at 
> org.infoglue.deliver.portal.dispatcher.DeliveryServletDispatcher.service(DeliveryServletDispatcher.java:66)
>         at 
> org.infoglue.deliver.portal.dispatcher.PortalServletDispatcher.service(PortalServletDispatcher.java:176)
>         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.infoglue.cms.security.InfoGlueAuthenticationFilter.doFilter(InfoGlueAuthenticationFilter.java:185)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.infoglue.cms.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:129)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.infoglue.deliver.applications.filters.CacheEvictionFilter.doFilter(CacheEvictionFilter.java:92)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at 
> org.jstripe.tomcat.probe.Tomcat55AgentValve.invoke(Tomcat55AgentValve.java:20)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
>         at 
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
>         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
>         at 
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
>         at 
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
>
> We're using IG 2.8 with MySQL
> Thanks,
> David
>
>   

-- 
David DARRAS
CRI - Université de Lille 1


------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.