Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-26668

repository.docker.gc Docker - Delete unused manifests and assets task may fail if a record gets deleted from the database while running

    XMLWordPrintable

    Details

    • Notability:
      2

      Description

      The Docker - Delete unused manifests and assets will query the database for manifests that are no longer referenced by any blobs or other manifests.

      If a found manifest asset is deleted by some other normal operation outside of the task, while the task is running, there is a possibility that the task will fail due to trying to find the asset record in the database, but will not be able to find it.

      2021-02-07 09:59:18,907+0000 WARN [quartz-17-thread-19] *SYSTEM org.sonatype.nexus.blobstore.s3.internal.S3BlobStore - Attempt to access soft-deleted blob 578c95cd-6d70-454b-8fd9-fef6d957910a attributes: s3://example-store/ditools-live-nexus-10232019/content/vol-29/chap-19/578c95cd-6d70-454b-8fd9-fef6d957910a.properties {deletedDateTime=1612690410909, deleted=true, @BlobStore.created-by=admin, creationTime=1612635824530, @BlobStore.created-by-ip=172.21.228.0, @BlobStore.content-type=application/vnd.docker.distribution.manifest.v2+json, sha1=e831415f46acd6c4736685171d04fd4436289467, @BlobStore.blob-name=v2/originationapi/manifests/Origination_Sprint_Orca_02, deletedReason=Updating asset AttachedEntityId

      {asset->#40:540692}

      , @Bucket.repo-name=images, size=1582}

      2021-02-07 09:59:18,930+0000 WARN [quartz-17-thread-19] *SYSTEM org.sonatype.nexus.transaction.RetryController - Exceeded retry limit: 8/8 (org.sonatype.nexus.repository.storage.MissingBlobException: Blob ditools-live-nexuslatest@86499A05-78582C07-CE53733A-21D81C6D-D1203DFF:578c95cd-6d70-454b-8fd9-fef6d957910a exists in metadata, but is missing from the blobstore)

      2021-02-07 09:59:18,934+0000 ERROR [quartz-17-thread-19] *SYSTEM org.sonatype.nexus.repository.docker.tasks.DockerGCTask - Failed to run task 'Docker - Delete unused manifests and images'
      org.sonatype.goodies.common.MultipleFailures$MultipleFailuresException: Failed to run task 'Docker - Delete unused manifests and images'; 1 failure

      Expected

      Since the point of the task is to remove references in the database to assets which have no references, if the asset record is already removed from the database, then do not fail the task - continue processing the remaining assets.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              plynch Peter Lynch
              Reporter:
              plynch Peter Lynch
              Last Updated By:
              Peter Lynch Peter Lynch
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title