Share the virtual merge cache across index types #147

Merged
benvin merged 1 commits from benvin/virtual-shared-cache into master 2026-10-17 13:28:16 +11:00
Member

The rpm virtual's merge cache, singleflight and two-generation retention are hard-wired to RPMRepo, so other merged index types (deb next) can't reuse them.

  • add a mergedRepo interface (index + referenced files) implemented by RPMRepo
  • key the merge cache by type-scoped string and serve files from both retained generations via cachedFile
  • extract parallel fail-closed member fetching into a generic fetchMembers
  • add tests for generation retention and per-key isolation
The rpm virtual's merge cache, singleflight and two-generation retention are hard-wired to RPMRepo, so other merged index types (deb next) can't reuse them. - add a mergedRepo interface (index + referenced files) implemented by RPMRepo - key the merge cache by type-scoped string and serve files from both retained generations via cachedFile - extract parallel fail-closed member fetching into a generic fetchMembers - add tests for generation retention and per-key isolation
unkin-agent added 1 commit 2026-10-17 12:32:10 +11:00
Share the virtual merge cache across index types
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ceae176089
Author
Member

No findings.

No findings.
benvin merged commit 0150b5ebb4 into master 2026-10-17 13:28:16 +11:00
benvin deleted branch benvin/virtual-shared-cache 2026-10-17 13:28:16 +11:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unkin/artifactapi#147