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

DelayedDeletionThread tries to delete Artifacts from S3 even if that artifact handler is disabled

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • 9.1.0
    • 9.0.1
    • Builds, Plan Branches
    • None

    Description

      Problem

      This is reproducible in Data Center:

      DelayedDeletionThread tries to delete Artifacts from S3 even if that artifact handler is disabled.

      Environment

      Bamboo 8.2, 9.0, 9.1

      Steps to Reproduce

      1. Configure an S3 artifact handler and run some builds to upload artifacts to it
      2. Unset the S3 artifact handler
      3. Remove or expire the S3 Access keys/credentials
      4. Delete the Plan/Plan branch that has the artifacts
      5. Observe <bamboo-home>/logs/atlassian-bamboo.log for the DelayedDeletionThread messages

      Expected Results

      Bamboo should not connect to S3 if the S3 artifact handler is not enabled

      Actual Results

      Bamboo tries to connect to the S3 bucket and fails (because we had expired the previous Access keys). It should not even try to connect.

      2022-11-21 17:47:45,587 INFO [https-jsse-nio-45910-exec-23] [ImmutablePlanCacheServiceImpl] Invalidating PROJ-PLAN0
      2022-11-21 17:48:02,488 INFO [https-jsse-nio-45910-exec-17] [DeprecatedIdNameAttribute] The use of 'id' deprecated. Use 'var' instead. Params: {}
      2022-11-21 17:48:06,129 INFO [https-jsse-nio-45910-exec-28] [DeletionServiceImpl] Stopping any running builds for PROJ-PLAN0
      2022-11-21 17:48:06,130 INFO [https-jsse-nio-45910-exec-28] [DeletionServiceImpl] Scheduling plan [PROJ-PLAN0] for deletion
      2022-11-21 17:48:06,134 INFO [https-jsse-nio-45910-exec-28] [DeletionServiceImpl] Stopping any running builds for PROJ-PLAN0-JOB1
      2022-11-21 17:48:38,032 INFO [DelayedDeletionThread] [DeletionServiceHelper] Deleting 1 TopLevelPlan(s) and/or ChainBranch(es) marked for deletion
      2022-11-21 17:48:38,033 INFO [DelayedDeletionThread] [DeletionServiceHelper] Deleting PROJ-PLAN0
      2022-11-21 17:48:45,083 ERROR [DelayedDeletionThread] [BambooPluginUtils] class com.atlassian.bamboo.build.artifact.S3ArtifactHandler was unable to delete artifacts for PROJ-PLAN0
      com.amazonaws.services.s3.model.AmazonS3Exception: The specified bucket does not exist (Service: Amazon S3; Status Code: 404; Error Code: NoSuchBucket; Request ID: WY1H8531ERVS55AH; S3 Extended Request ID: z67UAXZ8V28qwjVwXCnmVjNbMawODj82/4sT1Jrr/6WwdH97NdC8PX3uIoiJ/gQbkvs+zgNPG1M=; Proxy: proxy.osalva.net)
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1862) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1415) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1384) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1154) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:811) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:779) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:753) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:713) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:695) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:559) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:539) ~[aws-java-sdk-core-1.12.153.jar:?]
              at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5453) ~[aws-java-sdk-s3-1.12.153.jar:?]
              at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5400) ~[aws-java-sdk-s3-1.12.153.jar:?]
              at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5394) ~[aws-java-sdk-s3-1.12.153.jar:?]
              at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:928) ~[aws-java-sdk-s3-1.12.153.jar:?]
              at com.atlassian.aws.utils.FullListObjectsResult$ContinuousObjectListing.getS3ObjectSummaries(FullListObjectsResult.java:121) ~[atlassian-aws-1.0.187.jar:?]
              at com.atlassian.bamboo.build.artifact.S3ArtifactHandler.deleteRecursively(S3ArtifactHandler.java:515) ~[atlassian-bamboo-agent-remote-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.build.artifact.S3ArtifactHandler.removeArtifactsFromStorage(S3ArtifactHandler.java:508) ~[atlassian-bamboo-agent-remote-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.build.artifact.AbstractArtifactManager$6.run(AbstractArtifactManager.java:518) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.plugin.BambooPluginUtils$Runnable.call(BambooPluginUtils.java:108) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.plugin.BambooPluginUtils$Runnable.call(BambooPluginUtils.java:101) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.plugin.BambooPluginUtils.callUnsafeCode(BambooPluginUtils.java:55) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.build.artifact.AbstractArtifactManager.removeArtifactsFromStorage(AbstractArtifactManager.java:515) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.build.artifact.LocalArtifactManager.removeArtifactsFromStorage(LocalArtifactManager.java:66) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.deletion.DeletionServiceHelper.doDeletePlan(DeletionServiceHelper.java:250) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.deletion.DeletionServiceHelper.doDeletePlans(DeletionServiceHelper.java:217) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.deletion.DeletionServiceHelper.executeDelayedDeletionInternal(DeletionServiceHelper.java:188) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.deletion.DeletionServiceHelper.executeDelayedDeletion(DeletionServiceHelper.java:126) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.deletion.DeletionServiceImpl.executeDelayedDeletion(DeletionServiceImpl.java:468) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at jdk.internal.reflect.GeneratedMethodAccessor493.invoke(Unknown Source) ~[?:?]
              at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
              at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.23.jar:5.3.23]
              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.23.jar:5.3.23]
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.23.jar:5.3.23]
              at com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:22) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23]
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23]
              at com.sun.proxy.$Proxy344.executeDelayedDeletion(Unknown Source) ~[?:?]
              at com.atlassian.bamboo.deletion.DeletionServiceJob.execute(DeletionServiceJob.java:16) ~[atlassian-bamboo-core-9.1.0-rc2.jar:?]
              at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.3.2.jar:?]
              at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48) ~[atlassian-bamboo-api-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26) ~[atlassian-bamboo-api-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17) ~[atlassian-bamboo-api-9.1.0-rc2.jar:?]
              at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41) ~[atlassian-bamboo-api-9.1.0-rc2.jar:?]
              at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.3.2.jar:?]
      

      Workaround

      Set bucket name in S3 Artifact Handler config to an empty string

      Attachments

        Issue Links

          Activity

            People

              mgardias Marcin Gardias
              73868399605e Eduardo Alvarenga
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: