Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.29.2
-
Fix Version/s: 3.30.0
-
Component/s: Cleanup, Docker, Scheduled Tasks
-
Labels:
-
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
- causes
-
NEXUS-28078 Docker - Delete unused manifests and images task may delete referenced layers if the database query to select components encounters limits
-
- Closed
-
- mentioned in
-
Page Loading...