Description of problem:
Currently during any repo sync, we:
1. check to see if there was any change (or mismatch of unit counts)
2. IF so we request all UUIDs of rpms in the repo
3. We then fetch all rpm units by their UUID
After chatting with mhrivnak, the unit metadata for an rpm should never change (for the fields we care about), so we could optimize this by getting the list of UUIDs and then only fetching (and updating) units that aren't in the repo.
This should speed up repo syncing quite a bit.
We may want to add a 'force' sync option to override this behavior as well.
Created redmine issue http://projects.theforeman.org/issues/18655 from this bug
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/18655 has been resolved.
Verified in Sat 6.3 Snap 13 => satellite-6.3.0-16.0.beta.el7sat.noarch
I followed the steps in the PR: https://github.com/Katello/katello/pull/6634
=> Creating repo on filesystem with createrepo, adding a bunch of rpms, sync via HTTP, add more RPMs, sync & check output (A), sync again & check output (B)
Started at: 2017-08-30 17:35:18 UTC
Ended at: 2017-08-30 17:35:22 UTC
Real time: 4.51s
Execution time (excluding suspended state): 4.51s
Note that full index was not run.
All output is exactly as described in the PR.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA.
> For information on the advisory, and where to find the updated files, follow the link below.
> If the solution does not work for you, open a new bug report.