Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-11691

Dead lock when executing plan

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • 5.10.0
    • 4.1, 5.0, 5.5, 5.6.2
    • Database (MySQL), Triggers
    • None

    Description

      Somehow we got a deadlock database exeception this night. I don't know if we ever can reproduce this, but maybe you have a hint to look after such exceptions:

      java.lang.RuntimeException: Could not synchronise build numbers of Jobs for 'xxxxx'
      	at com.atlassian.bamboo.build.BuildNumberGeneratorServiceImpl.synchroniseJobsBuildNumbers(BuildNumberGeneratorServiceImpl.java:62)
      	at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.synchronizeJobsBuildNumbers(ChainExecutionManagerImpl.java:332)
      	at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createChainState(ChainExecutionManagerImpl.java:286)
      	at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.start(ChainExecutionManagerImpl.java:170)
      	at sun.reflect.GeneratedMethodAccessor1624.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at $Proxy81.start(Unknown Source)
      	at sun.reflect.GeneratedMethodAccessor1624.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      	at $Proxy82.start(Unknown Source)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.startWithLockTaken(PlanExecutionManagerImpl.java:249)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.access$100(PlanExecutionManagerImpl.java:40)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$1.call(PlanExecutionManagerImpl.java:236)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$1.call(PlanExecutionManagerImpl.java:230)
      	at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:324)
      	at com.atlassian.bamboo.plan.PlanExecutionLockServiceImpl.lock(PlanExecutionLockServiceImpl.java:68)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithProcessLock(PlanExecutionManagerImpl.java:360)
      	at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.start(PlanExecutionManagerImpl.java:229)
      	at com.atlassian.bamboo.plan.NonBlockingPlanExecutionServiceImpl$1.call(NonBlockingPlanExecutionServiceImpl.java:70)
      	at com.atlassian.bamboo.plan.NonBlockingPlanExecutionServiceImpl$1.call(NonBlockingPlanExecutionServiceImpl.java:61)
      	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      	at java.util.concurrent.FutureTask.run(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50)
      	at java.lang.Thread.run(Unknown Source)
      Caused by: org.springframework.dao.ConcurrencyFailureException: Hibernate operation: Could not execute JDBC batch update; SQL []; Deadlock found when trying to get lock; try restarting transaction; nested exception is java.sql.BatchUpdateException: Deadlock found when trying to get lock; try restarting transaction
      	at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:116)
      	at org.springframework.orm.hibernate.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:364)
      	at org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:351)
      	at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:375)
      	at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:337)
      	at com.atlassian.bamboo.build.BuildNumberGeneratorDaoImpl.updateJobsBuildNumbersNewTx(BuildNumberGeneratorDaoImpl.java:62)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at $Proxy80.updateJobsBuildNumbersNewTx(Unknown Source)
      	at com.atlassian.bamboo.build.BuildNumberGeneratorServiceImpl$2.run(BuildNumberGeneratorServiceImpl.java:56)
      	at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:333)
      	at com.atlassian.bamboo.build.BuildNumberGeneratorServiceImpl.synchroniseJobsBuildNumbers(BuildNumberGeneratorServiceImpl.java:51)
      	... 35 more
      Caused by: java.sql.BatchUpdateException: Deadlock found when trying to get lock; try restarting transaction
      	at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1998)
      	at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1443)
      	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
      	at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54)
      	at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:128)
      	at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2440)
      	at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2395)
      	at net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1823)
      	at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:3654)
      	at net.sf.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:238)
      	at net.sf.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:385)
      	at com.atlassian.bamboo.build.BuildNumberGeneratorDaoImpl$2.doInHibernate(BuildNumberGeneratorDaoImpl.java:72)
      	at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:370)
      	... 51 more
      
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            6b7e9c59b112 Philipp Schill
            Votes:
            5 Vote for this issue
            Watchers:
            14 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: