Bug 1260421

Summary: [rfe] dnf should download drpms first
Product: [Fedora] Fedora Reporter: Ville Skyttä <ville.skytta>
Component: dnfAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jsilhan, jzeleny, mluscon, packaging-team-maint, pnemade, tla, vmukhame
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dnf-1.1.5-1.fc23 dnf-1.1.5-1.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-22 21:59:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Ville Skyttä 2015-09-06 16:39:30 UTC
dnf should sort package payloads to be downloaded so that drpms are downloaded first, in order to keep the background drpm rebuilding process as busy as possible while other packages are being downloaded.

Additionally, if there's a way to guess/sort drpm rebuilds by rebuild time, the longer taking ones should be downloaded first.

I believe this would make the download/drpm process better for all systems, but especially ones with slow network connectivity and slow CPU(s).

I can take a look at implementing this if someone can tell me the place where this should be done (maybe dnf.repo.download_payloads()?).

Comment 1 Michal Luscon 2015-09-07 13:34:09 UTC
Hi Ville,

we took a quick look at download_payloads() method and it looks like this feature would need to be implemented inside librepo library. Therefore it would be better to discuss it directly with librepo developers on https://github.com/Tojaj/librepo/issues .

Comment 2 Ville Skyttä 2015-09-07 16:56:21 UTC
Hm, but quickly looking, librepo does not seem to have any kind of real drpm functionality, it just downloads what it is told to, no? In that sense it would sound a bit strange to implement this in it.

Anyway, if librepo is the place to implement this, it being C means I'm not going to try and implement this myself.

Comment 3 Ville Skyttä 2015-12-04 22:08:09 UTC
Seems this was doable in dnf.repo.download_payloads():
https://github.com/rpm-software-management/dnf/pull/401

Comment 4 Fedora Update System 2015-12-18 17:46:50 UTC
dnf-plugins-core-0.1.15-1.fc23 dnf-1.1.5-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-c72cd24fa0

Comment 5 Fedora Update System 2015-12-18 17:48:39 UTC
dnf-plugins-core-0.1.15-1.fc22 dnf-1.1.5-1.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-1bb112ccc6

Comment 6 Fedora Update System 2015-12-19 19:59:31 UTC
dnf-1.1.5-1.fc23, dnf-plugins-core-0.1.15-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update dnf dnf-plugins-core'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-c72cd24fa0

Comment 7 Fedora Update System 2015-12-22 15:35:13 UTC
dnf-1.1.5-1.fc22, dnf-plugins-core-0.1.15-1.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-1bb112ccc6

Comment 8 Fedora Update System 2015-12-22 21:58:46 UTC
dnf-1.1.5-1.fc23, dnf-plugins-core-0.1.15-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2016-01-04 19:52:05 UTC
dnf-1.1.5-1.fc22, dnf-plugins-core-0.1.15-1.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.