pulp / pulp/pulp_container

Sync performance: skip /tags/list for specific tag lists

Open
#2,474 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
31
Forks
56
Avg merge
2d 22h
Merged PRs (30d)
22

Description

Problem: Syncing container repositories with specific tag references (sha256 digests)
from deep repositories (50,000+ tags) requires paginating through all tags, taking 3-8 minutes.

Solution: When include_tags contains only non-wildcard references and excludes won't match,
bypass /tags/list entirely and fetch manifests directly. Discover cosign companions via HEAD probing.

Impact: Reduces sync time from 3-8 minutes to ~20 seconds for the reported use case
(OCP repository with 50K+ tags, syncing 189 specific digests).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the container sync handling for include_tags and the /tags/list request. Trace how specific digest references and cosign companions are processed, then verify the sync path avoids tag-list pagination and completes the reported repository case within the expected behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.