Skip to content

Serve pull-through blobs while their version commits - #2627

Open
scanner wants to merge 1 commit into
pulp:mainfrom
scanner:fix/pull-through-pending-blob-race
Open

scanner wants to merge 1 commit into
pulp:mainfrom
scanner:fix/pull-through-pending-blob-race

Conversation

@scanner

@scanner scanner commented Nov 1, 2026

Copy link
Copy Markdown

The content app could answer 404 for a pull-through blob in two windows while the task adding it to the repository committed:

  • finalize_new_version cleared the blob from pending_blobs, and that committed before pulpcore committed the version as complete.
  • get_by_digest read the repository version and looked the blob up in separate statements, so a commit in between hid the blob.

Clear pending content in on_new_version, after the version is complete, and read the version and the blob in one REPEATABLE READ transaction.

fixes #2626

Assisted-by: Claude Opus 5.5

📜 Checklist

  • Commits are cleanly separated with meaningful messages (simple features and bug fixes should be squashed to one commit)
  • A changelog entry or entries has been added for any significant changes
  • Follows the Pulp policy on AI Usage
  • (For new features) - User documentation and test coverage has been added

See: Pull Request Walkthrough

The content app could answer 404 for a pull-through blob in two windows
while the task adding it to the repository committed:

- finalize_new_version cleared the blob from pending_blobs, and that
  committed before pulpcore committed the version as complete.
- get_by_digest read the repository version and looked the blob up in
  separate statements, so a commit in between hid the blob.

Clear pending content in on_new_version, after the version is complete,
and read the version and the blob in one REPEATABLE READ transaction.

fixes pulp#2626

Assisted-by: Claude Opus 5.5

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pull-through: content app returns 404 for a blob while the task that adds it commits

1 participant