The zstd compression type was chosen to match createrepo_c settings. As an alternative, we might want to choose xz, especially after zlib-ng has been made the default in Fedora and brought performance improvements.
Did you mean gzip? I’m unsure how performance improvements with zlib-ng would lead to xz / lzma being more attractive.
zstd is slightly less efficient at compression than xz / lzma but much faster to compress and decompress than either xz / lzma or gzip (even when implemented via zlib-ng).
The sqlite database distributed alongside the repodata is not useful for dnf, but it might be used by some external consumer we’re not aware. Please do let us know.
mdapi needs to be updated Don't rely on .sqlite metadata · Issue #97 · fedora-infra/mdapi · GitHub
I think it’s the only other consumer though.
nothing should change by using the --compatibility flag of createrepo_c >= 1.0
Minor change:
createrepo_c --compatibility
w/ createrepo_c 1.0 doesn’t bother generating compressed comps metadata at all, it just provides the uncompressed version (because this was much simpler to implement).
But, because the comps.xml handling in createrepo_c < 1.0 is broken for any compression type other than gzip and because of this problem dnf does not recognize the existence of such metadata, this is not actually a change in practice.