Story #6055
closedStory #5113: Sync optimizations
As a user, my sync is not operational if there are no changes
100%
Description
Sync should not proceed further than downloading and parsing of repomd.xml if:
- revision number in repomd.xml is equal to or older than the one from the last sync
- and remote configuration hasn't changed since last sync
- and no repo versions has been created since last sync
A one-time option optimize
should be provided and will be True
by default. When set to False
, it disables all the optimisations at sync time and full sync is performed no matter what.
Proposal¶
On the RpmRepository model store:
- revision number
- remote id
- pulp_last_updated of a remote
- repo version number of last sync
Check that remote or repo version hasn't changed since last sync.
After that download repomd.xml and check the revision number.
In case of optimize=False
, skip all the checks and let the sync run.
Optimize sync to be non-operational if no changes
Adds optimize flag and related logic and docs
fixes #6055 https://pulp.plan.io/issues/6055