|
From: Cornelis H. (JIRA) <ji...@jf...> - 2008-12-10 09:42:38
|
deadlock on repository when multiple artifacts are parallel deployed
--------------------------------------------------------------------
Key: RTFACT-1152
URL: http://issues.jfrog.org/jira/browse/RTFACT-1152
Project: Artifactory
Issue Type: Bug
Components: Artifact Storage, Deployer, Wagon
Affects Versions: 1.3.0-rc-1
Reporter: Cornelis Hoeflake
Assignee: Yoav Landman
Priority: Blocker
Our buildmachine has multiple threads to build the artifacts. At the end of the build process, the artifact is deployed to the Artifactory server. But the deployment will never finish, all threads are still deploying. After the deadlock occurs, the webinterface is blocked too.
Setting the buildmachine to build with one thread, everything is ok. Setting the tomcat of the Artifactory to accept at most 1 thread will not help.
Our buildmachine runs CruiseControl and Wagon is used for deployment to the Artifactory.
The log on Artifactory shows something like this:
org.artifactory.jcr.lock.LockingException: Write lock on /repositories/libs-snapshots/com/ourproduct not acquired in 120 seconds
at org.artifactory.jcr.lock.SessionLockEntry.acquire(SessionLockEntry.java:103) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.jcr.lock.SessionLockEntry.acquireWriteLock(SessionLockEntry.java:96) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.jcr.lock.InternalLockManager.writeLock(InternalLockManager.java:60) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.jcr.lock.LockingHelper.writeLock(LockingHelper.java:47) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.repo.jcr.JcrRepoBase.internalGetLockedJcrFsItem(JcrRepoBase.java:723) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.repo.jcr.JcrRepoBase.internalGetLockedJcrFsItem(JcrRepoBase.java:706) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.repo.jcr.JcrRepoBase.getLockedJcrFolder(JcrRepoBase.java:283) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.jcr.fs.JcrFolder.mkdirs(JcrFolder.java:241) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.repo.webdav.WebdavServiceImpl.handleMkcol(WebdavServiceImpl.java:190) [artifactory-core-1.3.0-rc-1.jar:na]
at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source) [na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_03]
at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_03]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) [spring-aop-2.5.5.jar:2.5.5]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) [spring-aop-2.5.5.jar:2.5.5]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) [spring-aop-2.5.5.jar:2.5.5]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) [spring-tx-2.5.5.jar:2.5.5]
at org.artifactory.jcr.lock.LockingAdvice.invoke(LockingAdvice.java:79) [artifactory-core-1.3.0-rc-1.jar:na]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) [spring-aop-2.5.5.jar:2.5.5]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) [spring-aop-2.5.5.jar:2.5.5]
at $Proxy48.handleMkcol(Unknown Source) [na:na]
at org.artifactory.webapp.servlet.RepoFilter.execute(RepoFilter.java:132) [RepoFilter.class:na]
at org.artifactory.webapp.servlet.RepoFilter.doFilter(RepoFilter.java:73) [RepoFilter.class:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) [catalina.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) [catalina.jar:na]
at org.artifactory.webapp.servlet.AccessFilter.useAuthentication(AccessFilter.java:192) [AccessFilter.class:na]
at org.artifactory.webapp.servlet.AccessFilter.authenticateAndExecute(AccessFilter.java:137) [AccessFilter.class:na]
at org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:122) [AccessFilter.class:na]
at org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:91) [AccessFilter.class:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) [catalina.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) [catalina.jar:na]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) [catalina.jar:na]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) [catalina.jar:na]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina.jar:na]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) [catalina.jar:na]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) [catalina.jar:na]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) [catalina.jar:na]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) [tomcat-http.jar:na]
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) [tomcat-http.jar:na]
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) [tomcat-util.jar:5.1]
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) [tomcat-util.jar:5.1]
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) [tomcat-util.jar:5.1]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_03]
2008-12-10 10:41:55,959 [ERROR] (o.a.c.c.C.[.[.[.[default]:260) - Servlet.service() for servlet default threw exception
org.artifactory.jcr.lock.LockingException: Write lock on /repositories/libs-snapshots/com not acquired in 120 seconds
at org.artifactory.jcr.lock.SessionLockEntry.acquire(SessionLockEntry.java:103) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.jcr.lock.SessionLockEntry.acquireWriteLock(SessionLockEntry.java:96) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.jcr.lock.InternalLockManager.writeLock(InternalLockManager.java:60) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.jcr.lock.LockingHelper.writeLock(LockingHelper.java:47) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.repo.jcr.JcrRepoBase.internalGetLockedJcrFsItem(JcrRepoBase.java:723) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.repo.jcr.JcrRepoBase.internalGetLockedJcrFsItem(JcrRepoBase.java:706) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.repo.jcr.JcrRepoBase.getLockedJcrFolder(JcrRepoBase.java:283) [artifactory-core-1.3.0-rc-1.jar:na]
at org.artifactory.repo.webdav.WebdavServiceImpl.handleMkcol(WebdavServiceImpl.java:189) [artifactory-core-1.3.0-rc-1.jar:na]
at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source) [na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_03]
at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_03]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) [spring-aop-2.5.5.jar:2.5.5]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) [spring-aop-2.5.5.jar:2.5.5]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) [spring-aop-2.5.5.jar:2.5.5]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) [spring-tx-2.5.5.jar:2.5.5]
at org.artifactory.jcr.lock.LockingAdvice.invoke(LockingAdvice.java:79) [artifactory-core-1.3.0-rc-1.jar:na]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) [spring-aop-2.5.5.jar:2.5.5]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) [spring-aop-2.5.5.jar:2.5.5]
at $Proxy48.handleMkcol(Unknown Source) [na:na]
at org.artifactory.webapp.servlet.RepoFilter.execute(RepoFilter.java:132) [RepoFilter.class:na]
at org.artifactory.webapp.servlet.RepoFilter.doFilter(RepoFilter.java:73) [RepoFilter.class:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) [catalina.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) [catalina.jar:na]
at org.artifactory.webapp.servlet.AccessFilter.useAuthentication(AccessFilter.java:192) [AccessFilter.class:na]
at org.artifactory.webapp.servlet.AccessFilter.authenticateAndExecute(AccessFilter.java:137) [AccessFilter.class:na]
at org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:122) [AccessFilter.class:na]
at org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:91) [AccessFilter.class:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) [catalina.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) [catalina.jar:na]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) [catalina.jar:na]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) [catalina.jar:na]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina.jar:na]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) [catalina.jar:na]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) [catalina.jar:na]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) [catalina.jar:na]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) [tomcat-http.jar:na]
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) [tomcat-http.jar:na]
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) [tomcat-util.jar:5.1]
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) [tomcat-util.jar:5.1]
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) [tomcat-util.jar:5.1]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_03]
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.jfrog.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
|