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

Rerun build doesn't work after exceeding artifacts soft limit

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Low Low
    • None
    • 5.12.0.2
    • Artifacts, Builds, OnDemand
    • None

      Rerun removes old result first. Then in the same transaction if soft limit is exceeded it will recalculate artifacts usage.

      @4000000055ee620f33e2c4ac 2015-09-08 14:20:21,854 ERROR [TP-Processor3] [ChainExecutionManagerImpl] Plan 'XX-YYYY' could not be started. org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
      @4000000055ee620f33e2cc7c com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
      @4000000055ee620f33e2dc1c       at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)
      @4000000055ee620f33e2e004       at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)
      @4000000055ee620f33e2e004       at com.atlassian.util.concurrent.ResettableLazyReference.get(ResettableLazyReference.java:87)
      @4000000055ee620f33e2e3ec       at com.atlassian.bamboo.storage.DiskUsageManagerImpl.findUsedStorageByArtifactHandler(DiskUsageManagerImpl.java:28)
      @4000000055ee620f33e2e7d4       at com.atlassian.bamboo.storage.StorageCappingServiceImpl.updateLimitExceededFlags(StorageCappingServiceImpl.java:84)
      @4000000055ee620f33e2ebbc       at com.atlassian.bamboo.storage.StorageCappingServiceImpl.onArtifactUpdated(StorageCappingServiceImpl.java:65)
      @4000000055ee620f33e2ebbc       at com.atlassian.bamboo.build.artifact.LocalArtifactManager.removeArtifactFromStorage(LocalArtifactManager.java:66)
      @4000000055ee620f33e2efa4       at com.atlassian.bamboo.build.artifact.DefaultArtifactLinkManager.removeArtifactLink(DefaultArtifactLinkManager.java:151)
      @4000000055ee620f33e2f774       at com.atlassian.bamboo.build.artifact.DefaultArtifactLinkManager.removeProducedArtifactLinks(DefaultArtifactLinkManager.java:167)
      @4000000055ee620f33e2fb5c       at com.atlassian.bamboo.chains.ChainResultManagerImpl.updateForContinuedBuild(ChainResultManagerImpl.java:199)
      @4000000055ee620f33e2fb5c       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      @4000000055ee620f33e2ff44       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      @4000000055ee620f33e3032c       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      @4000000055ee620f33e3032c       at java.lang.reflect.Method.invoke(Method.java:497)
      @4000000055ee620f33e30714       at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      @4000000055ee620f33e30afc       at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
      @4000000055ee620f33e30afc       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
      @4000000055ee620f33e30ee4       at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
      @4000000055ee620f33e32a3c       at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
      @4000000055ee620f33e32a3c       at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
      @4000000055ee620f33e32e24       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      @4000000055ee620f33e3320c       at com.atlassian.bamboo.author.AuthorCreatorServiceInterceptor.invoke(AuthorCreatorServiceInterceptor.java:46)
      @4000000055ee620f33e335f4       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      @4000000055ee620f33e335f4       at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
      @4000000055ee620f33e339dc       at com.sun.proxy.$Proxy127.updateForContinuedBuild(Unknown Source)
      @4000000055ee620f33e33dc4       at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createNewChainState(ChainExecutionManagerImpl.java:548)
      @4000000055ee620f33e33dc4       at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createChainStateNoDetection(ChainExecutionManagerImpl.java:435)
      @4000000055ee620f33e341ac       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      @4000000055ee620f33e3497c       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      @4000000055ee620f33e34d64       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      @4000000055ee620f33e34d64       at java.lang.reflect.Method.invoke(Method.java:497)
      ...
      4000000055ee620f3406ea94 Caused by: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
      @4000000055ee620f3406f264       at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:701)
      @4000000055ee620f3406f64c       at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:414)
      @4000000055ee620f340763ac       at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:416)
      @4000000055ee620f34076794       at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:341)
      @4000000055ee620f34076794       at com.atlassian.bamboo.artifact.ArtifactHibernateDao.findArtifactUsedStorageByLinkType(ArtifactHibernateDao.java:211)
      @4000000055ee620f340b5b4c       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      @4000000055ee620f340b5f34       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      @4000000055ee620f340b5f34       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      @4000000055ee620f340b631c       at java.lang.reflect.Method.invoke(Method.java:497)
      @4000000055ee620f340b6704       at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      @4000000055ee620f340b76a4       at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
      @4000000055ee620f340b7a8c       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
      @4000000055ee620f340b7a8c       at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
      @4000000055ee620f340b825c       at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
      @4000000055ee620f340b825c       at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
      @4000000055ee620f340b8644       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      @4000000055ee620f340b8a2c       at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
      @4000000055ee620f340b8e14       at com.sun.proxy.$Proxy103.findArtifactUsedStorageByLinkType(Unknown Source)
      @4000000055ee620f340b8e14       at com.atlassian.bamboo.storage.DiskUsageManagerImpl$1.create(DiskUsageManagerImpl.java:20)
      @4000000055ee620f340b91fc       at com.atlassian.bamboo.storage.DiskUsageManagerImpl$1.create(DiskUsageManagerImpl.java:16)
      @4000000055ee620f340b99cc       at com.atlassian.util.concurrent.ResettableLazyReference$InternalReference.create(ResettableLazyReference.java:140)
      @4000000055ee620f340b99cc       at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:321)
      @4000000055ee620f340b9db4       at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:143)
      @4000000055ee620f340b9db4       ... 299 more
      @4000000055ee620f340ba19c Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
      @4000000055ee620f340ba584       at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:85)
      @4000000055ee620f340ba584       at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:70)
      @4000000055ee620f340ba96c       at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:90)
      @4000000055ee620f340bad54       at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
      @4000000055ee620f340bad54       at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
      @4000000055ee620f340bb13c       at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)
      @4000000055ee620f340bb13c       at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
      @4000000055ee620f340bb90c       at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
      @4000000055ee620f340bb90c       at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2667)
      @4000000055ee620f340bbcf4       at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2912)
      @4000000055ee620f340bbcf4       at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:97)
      @4000000055ee620f340bc4c4       at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
      @4000000055ee620f340bc4c4       at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
      @4000000055ee620f340bc4c4       at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:189)
      @4000000055ee620f340bc8ac       at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
      @4000000055ee620f34178c64       at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64)
      @4000000055ee620f3417904c       at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1185)
      @4000000055ee620f34179434       at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1261)
      @4000000055ee620f34179434       at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
      @4000000055ee620f3417c314       at com.atlassian.bamboo.artifact.ArtifactHibernateDao$7.doInHibernate(ArtifactHibernateDao.java:216)
      @4000000055ee620f3417c314       at com.atlassian.bamboo.artifact.ArtifactHibernateDao$7.doInHibernate(ArtifactHibernateDao.java:212)
      @4000000055ee620f3417c6fc       at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
      @4000000055ee620f3417cae4       ... 319 more
      

      Bug Variance:
      The same error might be thrown when re-running a build even soft-limit is not exceeded.

            [BAM-16332] Rerun build doesn't work after exceeding artifacts soft limit

            Monique Khairuliana (Inactive) made changes -
            Workflow Original: Bamboo Workflow 2016 v1 - Restricted [ 1442505 ] New: JAC Bug Workflow v3 [ 3383414 ]
            Status Original: Resolved [ 5 ] New: Closed [ 6 ]
            Owen made changes -
            Symptom Severity Original: Minor [ 14432 ] New: Severity 3 - Minor [ 15832 ]
            Marcin Gardias made changes -
            Resolution New: Obsolete [ 11 ]
            Status Original: Open [ 1 ] New: Resolved [ 5 ]
            jonah (Inactive) made changes -
            Symptom Severity New: Minor [ 14432 ]
            Krystian Brazulewicz made changes -
            Affects Version/s New: 5.12.0.2 [ 62126 ]
            Affects Version/s Original: 5.12.0 [ 61527 ]
            Owen made changes -
            Workflow Original: Bamboo Workflow 2016 v1 [ 1419682 ] New: Bamboo Workflow 2016 v1 - Restricted [ 1442505 ]
            Marek Went (Inactive) made changes -
            Workflow Original: Bamboo Workflow 2014 v2 [ 953003 ] New: Bamboo Workflow 2016 v1 [ 1419682 ]
            Alexey Chystoprudov made changes -
            Component/s New: OnDemand [ 18503 ]
            Nick Mason made changes -
            Affects Version/s New: 5.12.0 [ 61527 ]
            Fahd made changes -
            Description Original: Rerun removes old result first. Then in the same transaction if soft limit is exceeded it will recalculate artifacts usage.

            {code}
            @4000000055ee620f33e2c4ac 2015-09-08 14:20:21,854 ERROR [TP-Processor3] [ChainExecutionManagerImpl] Plan 'XX-YYYY' could not be started. org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
            @4000000055ee620f33e2cc7c com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
            @4000000055ee620f33e2dc1c at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)
            @4000000055ee620f33e2e004 at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)
            @4000000055ee620f33e2e004 at com.atlassian.util.concurrent.ResettableLazyReference.get(ResettableLazyReference.java:87)
            @4000000055ee620f33e2e3ec at com.atlassian.bamboo.storage.DiskUsageManagerImpl.findUsedStorageByArtifactHandler(DiskUsageManagerImpl.java:28)
            @4000000055ee620f33e2e7d4 at com.atlassian.bamboo.storage.StorageCappingServiceImpl.updateLimitExceededFlags(StorageCappingServiceImpl.java:84)
            @4000000055ee620f33e2ebbc at com.atlassian.bamboo.storage.StorageCappingServiceImpl.onArtifactUpdated(StorageCappingServiceImpl.java:65)
            @4000000055ee620f33e2ebbc at com.atlassian.bamboo.build.artifact.LocalArtifactManager.removeArtifactFromStorage(LocalArtifactManager.java:66)
            @4000000055ee620f33e2efa4 at com.atlassian.bamboo.build.artifact.DefaultArtifactLinkManager.removeArtifactLink(DefaultArtifactLinkManager.java:151)
            @4000000055ee620f33e2f774 at com.atlassian.bamboo.build.artifact.DefaultArtifactLinkManager.removeProducedArtifactLinks(DefaultArtifactLinkManager.java:167)
            @4000000055ee620f33e2fb5c at com.atlassian.bamboo.chains.ChainResultManagerImpl.updateForContinuedBuild(ChainResultManagerImpl.java:199)
            @4000000055ee620f33e2fb5c at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            @4000000055ee620f33e2ff44 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            @4000000055ee620f33e3032c at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            @4000000055ee620f33e3032c at java.lang.reflect.Method.invoke(Method.java:497)
            @4000000055ee620f33e30714 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
            @4000000055ee620f33e30afc at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
            @4000000055ee620f33e30afc at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
            @4000000055ee620f33e30ee4 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
            @4000000055ee620f33e32a3c at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
            @4000000055ee620f33e32a3c at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
            @4000000055ee620f33e32e24 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            @4000000055ee620f33e3320c at com.atlassian.bamboo.author.AuthorCreatorServiceInterceptor.invoke(AuthorCreatorServiceInterceptor.java:46)
            @4000000055ee620f33e335f4 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            @4000000055ee620f33e335f4 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
            @4000000055ee620f33e339dc at com.sun.proxy.$Proxy127.updateForContinuedBuild(Unknown Source)
            @4000000055ee620f33e33dc4 at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createNewChainState(ChainExecutionManagerImpl.java:548)
            @4000000055ee620f33e33dc4 at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createChainStateNoDetection(ChainExecutionManagerImpl.java:435)
            @4000000055ee620f33e341ac at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            @4000000055ee620f33e3497c at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            @4000000055ee620f33e34d64 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            @4000000055ee620f33e34d64 at java.lang.reflect.Method.invoke(Method.java:497)
            ...
            4000000055ee620f3406ea94 Caused by: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
            @4000000055ee620f3406f264 at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:701)
            @4000000055ee620f3406f64c at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:414)
            @4000000055ee620f340763ac at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:416)
            @4000000055ee620f34076794 at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:341)
            @4000000055ee620f34076794 at com.atlassian.bamboo.artifact.ArtifactHibernateDao.findArtifactUsedStorageByLinkType(ArtifactHibernateDao.java:211)
            @4000000055ee620f340b5b4c at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            @4000000055ee620f340b5f34 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            @4000000055ee620f340b5f34 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            @4000000055ee620f340b631c at java.lang.reflect.Method.invoke(Method.java:497)
            @4000000055ee620f340b6704 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
            @4000000055ee620f340b76a4 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
            @4000000055ee620f340b7a8c at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
            @4000000055ee620f340b7a8c at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
            @4000000055ee620f340b825c at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
            @4000000055ee620f340b825c at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
            @4000000055ee620f340b8644 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            @4000000055ee620f340b8a2c at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
            @4000000055ee620f340b8e14 at com.sun.proxy.$Proxy103.findArtifactUsedStorageByLinkType(Unknown Source)
            @4000000055ee620f340b8e14 at com.atlassian.bamboo.storage.DiskUsageManagerImpl$1.create(DiskUsageManagerImpl.java:20)
            @4000000055ee620f340b91fc at com.atlassian.bamboo.storage.DiskUsageManagerImpl$1.create(DiskUsageManagerImpl.java:16)
            @4000000055ee620f340b99cc at com.atlassian.util.concurrent.ResettableLazyReference$InternalReference.create(ResettableLazyReference.java:140)
            @4000000055ee620f340b99cc at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:321)
            @4000000055ee620f340b9db4 at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:143)
            @4000000055ee620f340b9db4 ... 299 more
            @4000000055ee620f340ba19c Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
            @4000000055ee620f340ba584 at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:85)
            @4000000055ee620f340ba584 at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:70)
            @4000000055ee620f340ba96c at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:90)
            @4000000055ee620f340bad54 at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
            @4000000055ee620f340bad54 at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
            @4000000055ee620f340bb13c at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)
            @4000000055ee620f340bb13c at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
            @4000000055ee620f340bb90c at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
            @4000000055ee620f340bb90c at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2667)
            @4000000055ee620f340bbcf4 at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2912)
            @4000000055ee620f340bbcf4 at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:97)
            @4000000055ee620f340bc4c4 at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
            @4000000055ee620f340bc4c4 at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
            @4000000055ee620f340bc4c4 at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:189)
            @4000000055ee620f340bc8ac at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
            @4000000055ee620f34178c64 at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64)
            @4000000055ee620f3417904c at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1185)
            @4000000055ee620f34179434 at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1261)
            @4000000055ee620f34179434 at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
            @4000000055ee620f3417c314 at com.atlassian.bamboo.artifact.ArtifactHibernateDao$7.doInHibernate(ArtifactHibernateDao.java:216)
            @4000000055ee620f3417c314 at com.atlassian.bamboo.artifact.ArtifactHibernateDao$7.doInHibernate(ArtifactHibernateDao.java:212)
            @4000000055ee620f3417c6fc at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
            @4000000055ee620f3417cae4 ... 319 more
            {code}
            New: Rerun removes old result first. Then in the same transaction if soft limit is exceeded it will recalculate artifacts usage.

            {code}
            @4000000055ee620f33e2c4ac 2015-09-08 14:20:21,854 ERROR [TP-Processor3] [ChainExecutionManagerImpl] Plan 'XX-YYYY' could not be started. org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
            @4000000055ee620f33e2cc7c com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
            @4000000055ee620f33e2dc1c at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)
            @4000000055ee620f33e2e004 at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)
            @4000000055ee620f33e2e004 at com.atlassian.util.concurrent.ResettableLazyReference.get(ResettableLazyReference.java:87)
            @4000000055ee620f33e2e3ec at com.atlassian.bamboo.storage.DiskUsageManagerImpl.findUsedStorageByArtifactHandler(DiskUsageManagerImpl.java:28)
            @4000000055ee620f33e2e7d4 at com.atlassian.bamboo.storage.StorageCappingServiceImpl.updateLimitExceededFlags(StorageCappingServiceImpl.java:84)
            @4000000055ee620f33e2ebbc at com.atlassian.bamboo.storage.StorageCappingServiceImpl.onArtifactUpdated(StorageCappingServiceImpl.java:65)
            @4000000055ee620f33e2ebbc at com.atlassian.bamboo.build.artifact.LocalArtifactManager.removeArtifactFromStorage(LocalArtifactManager.java:66)
            @4000000055ee620f33e2efa4 at com.atlassian.bamboo.build.artifact.DefaultArtifactLinkManager.removeArtifactLink(DefaultArtifactLinkManager.java:151)
            @4000000055ee620f33e2f774 at com.atlassian.bamboo.build.artifact.DefaultArtifactLinkManager.removeProducedArtifactLinks(DefaultArtifactLinkManager.java:167)
            @4000000055ee620f33e2fb5c at com.atlassian.bamboo.chains.ChainResultManagerImpl.updateForContinuedBuild(ChainResultManagerImpl.java:199)
            @4000000055ee620f33e2fb5c at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            @4000000055ee620f33e2ff44 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            @4000000055ee620f33e3032c at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            @4000000055ee620f33e3032c at java.lang.reflect.Method.invoke(Method.java:497)
            @4000000055ee620f33e30714 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
            @4000000055ee620f33e30afc at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
            @4000000055ee620f33e30afc at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
            @4000000055ee620f33e30ee4 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
            @4000000055ee620f33e32a3c at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
            @4000000055ee620f33e32a3c at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
            @4000000055ee620f33e32e24 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            @4000000055ee620f33e3320c at com.atlassian.bamboo.author.AuthorCreatorServiceInterceptor.invoke(AuthorCreatorServiceInterceptor.java:46)
            @4000000055ee620f33e335f4 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            @4000000055ee620f33e335f4 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
            @4000000055ee620f33e339dc at com.sun.proxy.$Proxy127.updateForContinuedBuild(Unknown Source)
            @4000000055ee620f33e33dc4 at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createNewChainState(ChainExecutionManagerImpl.java:548)
            @4000000055ee620f33e33dc4 at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createChainStateNoDetection(ChainExecutionManagerImpl.java:435)
            @4000000055ee620f33e341ac at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            @4000000055ee620f33e3497c at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            @4000000055ee620f33e34d64 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            @4000000055ee620f33e34d64 at java.lang.reflect.Method.invoke(Method.java:497)
            ...
            4000000055ee620f3406ea94 Caused by: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
            @4000000055ee620f3406f264 at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:701)
            @4000000055ee620f3406f64c at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:414)
            @4000000055ee620f340763ac at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:416)
            @4000000055ee620f34076794 at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:341)
            @4000000055ee620f34076794 at com.atlassian.bamboo.artifact.ArtifactHibernateDao.findArtifactUsedStorageByLinkType(ArtifactHibernateDao.java:211)
            @4000000055ee620f340b5b4c at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            @4000000055ee620f340b5f34 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            @4000000055ee620f340b5f34 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            @4000000055ee620f340b631c at java.lang.reflect.Method.invoke(Method.java:497)
            @4000000055ee620f340b6704 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
            @4000000055ee620f340b76a4 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
            @4000000055ee620f340b7a8c at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
            @4000000055ee620f340b7a8c at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
            @4000000055ee620f340b825c at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
            @4000000055ee620f340b825c at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
            @4000000055ee620f340b8644 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
            @4000000055ee620f340b8a2c at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
            @4000000055ee620f340b8e14 at com.sun.proxy.$Proxy103.findArtifactUsedStorageByLinkType(Unknown Source)
            @4000000055ee620f340b8e14 at com.atlassian.bamboo.storage.DiskUsageManagerImpl$1.create(DiskUsageManagerImpl.java:20)
            @4000000055ee620f340b91fc at com.atlassian.bamboo.storage.DiskUsageManagerImpl$1.create(DiskUsageManagerImpl.java:16)
            @4000000055ee620f340b99cc at com.atlassian.util.concurrent.ResettableLazyReference$InternalReference.create(ResettableLazyReference.java:140)
            @4000000055ee620f340b99cc at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:321)
            @4000000055ee620f340b9db4 at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:143)
            @4000000055ee620f340b9db4 ... 299 more
            @4000000055ee620f340ba19c Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
            @4000000055ee620f340ba584 at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:85)
            @4000000055ee620f340ba584 at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:70)
            @4000000055ee620f340ba96c at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:90)
            @4000000055ee620f340bad54 at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
            @4000000055ee620f340bad54 at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
            @4000000055ee620f340bb13c at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)
            @4000000055ee620f340bb13c at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
            @4000000055ee620f340bb90c at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
            @4000000055ee620f340bb90c at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2667)
            @4000000055ee620f340bbcf4 at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2912)
            @4000000055ee620f340bbcf4 at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:97)
            @4000000055ee620f340bc4c4 at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
            @4000000055ee620f340bc4c4 at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
            @4000000055ee620f340bc4c4 at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:189)
            @4000000055ee620f340bc8ac at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
            @4000000055ee620f34178c64 at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64)
            @4000000055ee620f3417904c at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1185)
            @4000000055ee620f34179434 at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1261)
            @4000000055ee620f34179434 at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
            @4000000055ee620f3417c314 at com.atlassian.bamboo.artifact.ArtifactHibernateDao$7.doInHibernate(ArtifactHibernateDao.java:216)
            @4000000055ee620f3417c314 at com.atlassian.bamboo.artifact.ArtifactHibernateDao$7.doInHibernate(ArtifactHibernateDao.java:212)
            @4000000055ee620f3417c6fc at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
            @4000000055ee620f3417cae4 ... 319 more
            {code}

            *Bug Variance*:
            The same error might be thrown when re-running a build even soft-limit is not exceeded.

              Unassigned Unassigned
              mhunter Matthew Hunter
              Affected customers:
              5 This affects my team
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: