Performance degradation due to errors while deleting artifacts stored in S3
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
Bamboo server fails to run the expiry process when artifacts are stored in S3. The logs show this:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2017-09-25 10:41:37,007 ERROR [scheduler_Worker-10] [DeletionServiceImpl] Unable to complete delayed deletion:
com.amazonaws.services.s3.model.MultiObjectDeleteException: One or more objects could not be deleted (Service: null; Status Code: 200; Error Code: null; Request ID: 0F0F0F0F0F0F0), S3 Extended Request ID: 0a099a9s9d8as9d9as0f8d998f9sd9f9s8d9f8s9d8f9s89df9s8d9f8s9df=
at com.amazonaws.services.s3.AmazonS3Client.deleteObjects(AmazonS3Client.java:2065)
at com.atlassian.bamboo.build.artifact.S3ArtifactHandler.deleteRecursively(S3ArtifactHandler.java:483)
at com.atlassian.bamboo.build.artifact.S3ArtifactHandler.removeArtifactFromStorage(S3ArtifactHandler.java:419)
at com.atlassian.bamboo.build.artifact.S3ArtifactHandler.moveArtifactToGlobalStorage(S3ArtifactHandler.java:198)
at com.atlassian.bamboo.build.artifact.AbstractArtifactManager.moveArtifactToGlobalStorage(AbstractArtifactManager.java:564)
at com.atlassian.bamboo.build.artifact.LocalArtifactManager.moveArtifactToGlobalStorage(LocalArtifactManager.java:47)
at com.atlassian.bamboo.deletion.DeletionServiceImpl.doDeletePlan(DeletionServiceImpl.java:709)
at com.atlassian.bamboo.deletion.DeletionServiceImpl.doDeletePlans(DeletionServiceImpl.java:691)
at com.atlassian.bamboo.deletion.DeletionServiceImpl.executeDelayedDeletion(DeletionServiceImpl.java:558)
at sun.reflect.GeneratedMethodAccessor1012.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:30)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy204.executeDelayedDeletion(Unknown Source)
at com.atlassian.bamboo.deletion.DeletionServiceJob.execute(DeletionServiceJob.java:27)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:51)
at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)
at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20)
at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Cause
The AWS access key used in the Artifact handler configuration does not have the correct permission.
Resolution
Please make sure the user has the rights to delete objects in the S3 bucket
Was this helpful?