1
0
mirror of https://github.com/quay/quay.git synced 2026-10-27 22:53:00 +03:00
Files
Harish Govindarajulu a3ee7ba47f PROJQUAY-13201: fix(omr): store the tag once per tagged manifest PUT (#7148)
Every tagged manifest PUT left two rows in `tag`: one expired a few
milliseconds after creation and one live. Distribution's manifest
handler stores the manifest with its tag (PutManifest -> putTag) and
then calls the tag service for the same tag (PutTag -> putTag), and the
second write expired the row the first had just created.

The manifest middleware now records, in the request-scoped holder, the
tag and digest it stored. The tag service skips the store write when it
is asked for that same tag and digest within the same request.

putTag itself is unchanged: a later push of a tag, identical or
retargeted, expires the live row and adds a new one, the way Quay's
retarget_tag records tag history. Result is one row per push instead
of two.


Claude-Session: https://claude.ai/code/session_01K3wbqTw3owBi8RT352YDoP

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-30 11:33:58 +00:00
..