Performance degradation due to errors while deleting artifacts stored in S3

Still need help?

The Atlassian Community is here for you.

Ask the community

 

Symptoms

Bamboo server fails to run the expiry process when artifacts are stored in S3. The logs show this:

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

Last modified on Sep 29, 2017

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.