Skip to content

Commit 2b4f2d2

Browse files
committed
Ensure blobs can be deleted following image manifest deletion.
Ensure that the deleted manifest is deleted properly, and hence can be garbage collected.
1 parent dac2584 commit 2b4f2d2

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

.sqlx/query-145b8d36bfdffcc8ee8891ce09c85e66ff63ff613ef2bfb729f29c6cf43bad80.json

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.sqlx/query-41e6d71c5d880ee57be3dbd8a325d6603202a6be266d0cd8262d1a575b2dfdfb.json renamed to .sqlx/query-d666c95eca15e8cabbaedef6ef94a0f9f8ac802555c4c0782b61d713386d828e.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/routes/manifest.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ async fn delete_image_manifest(
301301
let digest = Digest::try_from_raw(&reference)?;
302302
let digest_str = digest.as_str();
303303
let res = sqlx::query!(
304-
"DELETE FROM repo_blob_assoc WHERE repo_name = $1 AND blob_digest = $2",
304+
"DELETE FROM repo_blob_assoc WHERE repo_name = $1 AND manifest_digest = $2",
305305
repo,
306306
digest_str
307307
)
@@ -320,6 +320,10 @@ async fn delete_image_manifest(
320320
sqlx::query!("DELETE FROM manifest where digest = $1", digest_str)
321321
.execute(&state.db_rw)
322322
.await?;
323+
324+
sqlx::query!("DELETE FROM manifest_blob_assoc where manifest_digest = $1", digest_str)
325+
.execute(&state.db_rw)
326+
.await?;
323327
}
324328
}
325329
}

0 commit comments

Comments
 (0)