Uploaded image for project: 'Project Quay'
  1. Project Quay
  2. PROJQUAY-3397

GC of tags is not working correctly

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • None
    • quay-v3.6.4
    • quay
    • False
    • None
    • False
    • Quay Enterprise
    • 0

    Description

      When a tag is deleted from the tags view, blobs from that tag do not get garbage collected even though the time machine setting for a particular user is set to 0 seconds. This is the log for tag deletion, there are no calls to boto at all:

      gcworker stdout | 2022-03-11 13:55:34,515 [75] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2022-03-11 13:56:04 UTC)" (scheduled at 2022-03-11 13:55:34.514440+00:00)
      gcworker stdout | 2022-03-11 13:55:34,516 [75] [DEBUG] [peewee] ('SELECT "candidates"."repository_id" FROM (SELECT DISTINCT "t1"."repository_id" FROM "tag" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") INNER JOIN "user" AS "t3" ON ("t2"."namespace_user_id" = "t3"."id") WHERE ((((NOT ("t1"."lifetime_end_ms" IS %s) AND ("t1"."lifetime_end_ms" <= %s)) AND ("t3"."removed_tag_expiration_s" = %s)) AND ("t3"."enabled" = %s)) AND ("t2"."state" != %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', [None, 1647006934515, 0, True, 3, 500, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,522 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [6, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,523 [75] [DEBUG] [util.locking] Acquiring global lock REPO_GARBAGE_COLLECTION_6
      gcworker stdout | 2022-03-11 13:55:34,523 [75] [DEBUG] [util.locking] Acquired lock REPO_GARBAGE_COLLECTION_6
      gcworker stdout | 2022-03-11 13:55:34,523 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [6, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,524 [75] [DEBUG] [__main__] Starting GC of repository #6 (minio)
      gcworker stdout | 2022-03-11 13:55:34,524 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") INNER JOIN "user" AS "t3" ON ("t2"."namespace_user_id" = "t3"."id") WHERE ((("t1"."repository_id" = %s) AND NOT ("t1"."lifetime_end_ms" IS %s)) AND ("t1"."lifetime_end_ms" <= (%s - ("t3"."removed_tag_expiration_s" * %s)))) LIMIT %s', [6, None, 1647006934524, 1000, 10])
      gcworker stdout | 2022-03-11 13:55:34,525 [75] [DEBUG] [data.model.gc] Found 1 tags to GC under repository 6
      gcworker stdout | 2022-03-11 13:55:34,525 [75] [DEBUG] [data.model.gc] Deleting tag 3 under repository 6
      gcworker stdout | 2022-03-11 13:55:34,526 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s FOR UPDATE', [3, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,526 [75] [DEBUG] [peewee] ('DELETE FROM "tagtorepositorytag" WHERE ("tagtorepositorytag"."tag_id" = %s)', [3])
      gcworker stdout | 2022-03-11 13:55:34,527 [75] [DEBUG] [peewee] ('DELETE FROM "tag" WHERE ("tag"."id" = %s)', [3])
      gcworker stdout | 2022-03-11 13:55:34,530 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,531 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."child_manifest_id" FROM "manifestchild" AS "t1" WHERE ("t1"."child_manifest_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,532 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."manifest_id" = %s)', [2])
      gcworker stdout | 2022-03-11 13:55:34,533 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."image_id" FROM "manifestlegacyimage" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,535 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."child_manifest_id" FROM "manifestchild" AS "t1" WHERE ("t1"."manifest_id" = %s)', [2])
      gcworker stdout | 2022-03-11 13:55:34,535 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."manifest_id" = %s)', [2])
      gcworker stdout | 2022-03-11 13:55:34,537 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,537 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,538 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."child_manifest_id" FROM "manifestchild" AS "t1" WHERE ("t1"."child_manifest_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,539 [75] [DEBUG] [peewee] ('DELETE FROM "tagmanifestlabelmap" WHERE ("tagmanifestlabelmap"."manifest_id" = %s)', [2])
      gcworker stdout | 2022-03-11 13:55:34,539 [75] [DEBUG] [peewee] ('DELETE FROM "tagmanifesttomanifest" WHERE ("tagmanifesttomanifest"."manifest_id" = %s)', [2])
      gcworker stdout | 2022-03-11 13:55:34,540 [75] [DEBUG] [peewee] ('DELETE FROM "manifestlabel" WHERE (("manifestlabel"."manifest_id" = %s) AND ("manifestlabel"."repository_id" = %s))', [2, 6])
      gcworker stdout | 2022-03-11 13:55:34,541 [75] [DEBUG] [peewee] ('DELETE FROM "manifestchild" WHERE (("manifestchild"."manifest_id" = %s) AND ("manifestchild"."repository_id" = %s))', [2, 6])
      gcworker stdout | 2022-03-11 13:55:34,541 [75] [DEBUG] [peewee] ('DELETE FROM "manifestblob" WHERE (("manifestblob"."manifest_id" = %s) AND ("manifestblob"."repository_id" = %s))', [2, 6])
      gcworker stdout | 2022-03-11 13:55:34,541 [75] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE (("manifestsecuritystatus"."manifest_id" = %s) AND ("manifestsecuritystatus"."repository_id" = %s))', [2, 6])
      gcworker stdout | 2022-03-11 13:55:34,542 [75] [DEBUG] [peewee] ('DELETE FROM "manifest" WHERE ("manifest"."id" = %s)', [2])
      gcworker stdout | 2022-03-11 13:55:34,545 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [21, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,546 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [21, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,546 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [21])
      gcworker stdout | 2022-03-11 13:55:34,548 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [22, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,549 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [22, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,550 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [22])
      gcworker stdout | 2022-03-11 13:55:34,551 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [23, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,552 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [23, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,552 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [23])
      gcworker stdout | 2022-03-11 13:55:34,554 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [24, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,555 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [24, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,555 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [24])
      gcworker stdout | 2022-03-11 13:55:34,557 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [25, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,558 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [25, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,559 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [25])
      gcworker stdout | 2022-03-11 13:55:34,560 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [26, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,561 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [26, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,562 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [26])
      gcworker stdout | 2022-03-11 13:55:34,563 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [27, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,564 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [27, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,565 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [27])
      gcworker stdout | 2022-03-11 13:55:34,566 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [28, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,567 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [28, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,568 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [28])
      gcworker stdout | 2022-03-11 13:55:34,569 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [29, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,570 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [29, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,570 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [29])
      gcworker stdout | 2022-03-11 13:55:34,572 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [30, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,573 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [30, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,573 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [30])
      gcworker stdout | 2022-03-11 13:55:34,576 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [31, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,577 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [31, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,577 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [31])
      gcworker stdout | 2022-03-11 13:55:34,579 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [32, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,580 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [32, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,580 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [32])
      gcworker stdout | 2022-03-11 13:55:34,582 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [33, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,582 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [33, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,583 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [33])
      gcworker stdout | 2022-03-11 13:55:34,585 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [34, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,585 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [34, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,586 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [34])
      gcworker stdout | 2022-03-11 13:55:34,587 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [35, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,588 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [35, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,589 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [35])
      gcworker stdout | 2022-03-11 13:55:34,591 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [36, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,591 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [36, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,592 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [36])
      gcworker stdout | 2022-03-11 13:55:34,593 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [37, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,594 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [37, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,595 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [37])
      gcworker stdout | 2022-03-11 13:55:34,596 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [38, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,597 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [38, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,598 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [38])
      gcworker stdout | 2022-03-11 13:55:34,599 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [39, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,600 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [39, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,600 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [39])
      gcworker stdout | 2022-03-11 13:55:34,602 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."label_id" FROM "manifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [40, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,603 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."annotated_id", "t1"."label_id" FROM "tagmanifestlabel" AS "t1" WHERE ("t1"."label_id" = %s) LIMIT %s OFFSET %s', [40, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,603 [75] [DEBUG] [peewee] ('DELETE FROM "label" WHERE ("label"."id" = %s)', [40])
      gcworker stdout | 2022-03-11 13:55:34,605 [75] [DEBUG] [data.model.storage] Garbage collecting storages from candidates: {5, 6, 7, 8, 9, 10, 11, 12}
      gcworker stdout | 2022-03-11 13:55:34,605 [75] [DEBUG] [data.model.storage] Garbage collecting storage 5
      gcworker stdout | 2022-03-11 13:55:34,605 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [5, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,606 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [5, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,608 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [5, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,608 [75] [DEBUG] [data.model.storage] Garbage collecting storage 6
      gcworker stdout | 2022-03-11 13:55:34,609 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [6, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,610 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [6, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,610 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [6, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,611 [75] [DEBUG] [data.model.storage] Garbage collecting storage 7
      gcworker stdout | 2022-03-11 13:55:34,611 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [7, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,612 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [7, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,613 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [7, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,613 [75] [DEBUG] [data.model.storage] Garbage collecting storage 8
      gcworker stdout | 2022-03-11 13:55:34,613 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [8, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,614 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [8, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,615 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [8, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,615 [75] [DEBUG] [data.model.storage] Garbage collecting storage 9
      gcworker stdout | 2022-03-11 13:55:34,616 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [9, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,617 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [9, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,617 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [9, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,618 [75] [DEBUG] [data.model.storage] Garbage collecting storage 10
      gcworker stdout | 2022-03-11 13:55:34,618 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [10, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,619 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [10, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,620 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [10, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,620 [75] [DEBUG] [data.model.storage] Garbage collecting storage 11
      gcworker stdout | 2022-03-11 13:55:34,621 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [11, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,622 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [11, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,623 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [11, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,623 [75] [DEBUG] [data.model.storage] Garbage collecting storage 12
      gcworker stdout | 2022-03-11 13:55:34,623 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [12, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,624 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [12, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,625 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [12, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,625 [75] [DEBUG] [data.model.storage] Garbage collecting storages from candidates: {5, 6, 7, 8, 9, 10, 11, 12}
      gcworker stdout | 2022-03-11 13:55:34,626 [75] [DEBUG] [data.model.storage] Garbage collecting storage 5
      gcworker stdout | 2022-03-11 13:55:34,626 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [5, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,627 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [5, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,627 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [5, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,628 [75] [DEBUG] [data.model.storage] Garbage collecting storage 6
      gcworker stdout | 2022-03-11 13:55:34,628 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [6, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,629 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [6, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,630 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [6, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,630 [75] [DEBUG] [data.model.storage] Garbage collecting storage 7
      gcworker stdout | 2022-03-11 13:55:34,631 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [7, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,631 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [7, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,632 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [7, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,633 [75] [DEBUG] [data.model.storage] Garbage collecting storage 8
      gcworker stdout | 2022-03-11 13:55:34,633 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [8, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,634 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [8, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,635 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [8, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,636 [75] [DEBUG] [data.model.storage] Garbage collecting storage 9
      gcworker stdout | 2022-03-11 13:55:34,636 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [9, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,637 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [9, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,638 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [9, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,638 [75] [DEBUG] [data.model.storage] Garbage collecting storage 10
      gcworker stdout | 2022-03-11 13:55:34,638 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [10, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,639 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [10, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,640 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [10, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,640 [75] [DEBUG] [data.model.storage] Garbage collecting storage 11
      gcworker stdout | 2022-03-11 13:55:34,641 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [11, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,642 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [11, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,642 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [11, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,643 [75] [DEBUG] [data.model.storage] Garbage collecting storage 12
      gcworker stdout | 2022-03-11 13:55:34,643 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."manifest_id", "t1"."blob_id" FROM "manifestblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [12, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,644 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."docker_image_id", "t1"."repository_id", "t1"."ancestors", "t1"."storage_id", "t1"."created", "t1"."comment", "t1"."command", "t1"."aggregate_size", "t1"."v1_json_metadata", "t1"."v1_checksum", "t1"."security_indexed", "t1"."security_indexed_engine", "t1"."parent_id" FROM "image" AS "t1" WHERE ("t1"."storage_id" = %s) LIMIT %s OFFSET %s', [12, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,645 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE ("t1"."blob_id" = %s) LIMIT %s OFFSET %s', [12, 1, 0])
      gcworker stdout | 2022-03-11 13:55:34,646 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") INNER JOIN "user" AS "t3" ON ("t2"."namespace_user_id" = "t3"."id") WHERE ((("t1"."repository_id" = %s) AND NOT ("t1"."lifetime_end_ms" IS %s)) AND ("t1"."lifetime_end_ms" <= (%s - ("t3"."removed_tag_expiration_s" * %s)))) LIMIT %s', [6, None, 1647006934524, 1000, 10])
      gcworker stdout | 2022-03-11 13:55:34,647 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."image_id", "t1"."repository_id", "t1"."lifetime_start_ts", "t1"."lifetime_end_ts", "t1"."hidden", "t1"."reversion" FROM "repositorytag" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") INNER JOIN "user" AS "t3" ON ("t2"."namespace_user_id" = "t3"."id") WHERE ((("t1"."repository_id" = %s) AND NOT ("t1"."lifetime_end_ts" IS %s)) AND ("t1"."lifetime_end_ts" <= (%s - "t3"."removed_tag_expiration_s"))) LIMIT %s', [6, None, 1647006934, 10])
      gcworker stdout | 2022-03-11 13:55:34,648 [75] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."blob_id", "t1"."uploaded_at", "t1"."expires_at" FROM "uploadedblob" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."expires_at" <= %s)) LIMIT %s', [6, datetime.datetime(2022, 3, 11, 13, 55, 34, 648480), 10])
      gcworker stdout | 2022-03-11 13:55:34,649 [75] [DEBUG] [__main__] Finished GC of repository #6 (minio)
      gcworker stdout | 2022-03-11 13:55:34,649 [75] [DEBUG] [util.locking] Releasing lock REPO_GARBAGE_COLLECTION_6
      gcworker stdout | 2022-03-11 13:55:34,649 [75] [DEBUG] [util.locking] Released lock REPO_GARBAGE_COLLECTION_6
      gcworker stdout | 2022-03-11 13:55:34,649 [75] [DEBUG] [data.database] Disconnecting from database.
      gcworker stdout | 2022-03-11 13:55:34,649 [75] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2022-03-11 13:56:04 UTC)" executed successfully
      

      The repositorygcworker does call boto and deletes the blobs from storage. gcworker should do the same on tag recycling.

      Please check.

      Attachments

        Issue Links

          Activity

            People

              sleesinc Kenny Lee Sin Cheong
              rhn-support-ibazulic Ivan Bazulic
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: