Use optimize for rare edge cases
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 71
- Forks
- 91
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 22
Description
Consider the following situation.
- The last version of some repository used
mirror=Falsesync policy. - We now want to sync using
mirror=Truesync policy. - Since the mirror policy has changed a full sync will be done in case the change in sync policy results in a change that optimize would skip.
- However, if no change materializes (the repo is already mirrored perfectly), then no new repo version is created, and the new sync policy is not saved on new_version.info.
- If we now sync again using the exact same options as before, we will still do a full sync, even though we could optimize (if pulp_deb could remember that we already tried these sync options without affecting a change).
=> A missed opportunity for further optimization.
However, these circumstances strike me as pretty rare, so I am not sure if it is worth working on.
Note: There may be other similar situations with changed sync options that do not result in a new repo version other than just switching mirror policy.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file or test is named in the issue. Start by tracing mirror sync-policy handling and how new_version.info records sync options, then identify the existing optimization path. Done means a repeated sync with unchanged results can remember the attempted options and avoid an unnecessary full sync.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100