Bug 1720729

Summary: Switch RPMs to zstd compression
Product: [Fedora] Fedora Reporter: Ben Cotton <bcotton>
Component: Changes TrackingAssignee: Daniel Mach <dmach>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 31CC: bcotton, dmach, dvlasenk, elia.pinto, redhat
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-29 17:13:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1725841, 1725850    
Bug Blocks:    

Description Ben Cotton 2019-06-14 17:09:26 UTC
This is a tracking bug for Change: Switch RPMs to zstd compression
For more details, see: https://fedoraproject.org/wiki/Changes/Switch_RPMs_to_zstd_compression

Binary RPMs are currently compressed with xz level 2.
Switching to zstd would increase decompression speed significantly.

Comment 1 Ben Cotton 2019-08-13 17:10:04 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.

Comment 2 Ben Cotton 2019-08-13 19:07:46 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 3 Ben Cotton 2019-08-14 17:56:17 UTC
We have reached the 'Code Complete (testable)' milestone in the Fedora 31 release cycle. If your Change is in a testable state, please set the status to MODIFIED. If this Change will not be ready for Fedora 31, please set the version to rawhide.

The 100% code complete deadline is Tue 2019-08-27.

Comment 4 Daniel Mach 2019-08-16 07:40:00 UTC
Thanks for reminder, the change is in place for some time already. Moving to MODIFIED.

Comment 5 Ben Cotton 2019-08-27 17:18:00 UTC
We have reached the '100% Code Complete' milestone in the Fedora 31 release cycle. If your Change is complete, please set the status to ON_QA. The Beta Freeze is underway. If you need a freeze exception, see https://fedoraproject.org/wiki/QA:SOP_freeze_exception_bug_process

If this Change will not be ready for Fedora 31, please set the version to rawhide.

Comment 6 Ben Cotton 2019-08-29 19:19:33 UTC
Setting to ON_QA as comment 4 suggests this is code complete.

Comment 7 Denys Vlasenko 2019-10-25 11:49:08 UTC
https://fedoraproject.org/wiki/Changes/Switch_RPMs_to_zstd_compression

> The recommended compression level is 19. The builds will take longer, but the additional compression time is negligible in the total build time

No, it is not negligible!!! For kernel packages, final RPM compression was taking ~10% of the build time. We are switching to threaded compression now.

You are changing it to an even slower compression.

Comment 8 Denys Vlasenko 2019-10-25 12:52:07 UTC
I looked at the current code (in git) of the rpm project.

No support for threaded zstd compression there (unlike xz, where threaded compression is supported).

This means instead of getting more than 5x speedup in rpm compression that we currently get by switching to "%define _binary_payload w3T.xzdio", switch to zstd would result in 2.5x slowdown (e.g. compression taking ~15 minutes).

Comment 9 Ben Cotton 2019-10-29 17:13:50 UTC
Closing Change tracking bugs for the Fedora 31 release.