On Jul 27, 2020, 18:48, [email protected] < [email protected]> wrote: > On Mon, Jul 27, 2020 at 10:35:56AM +0000, WillyPillow wrote: > > This is something that I realized when experimenting with the \`--refresh\` > > flag > > for force updating repo metadata: in essence, currently the metadata is > > \*always\* refreshed as DNF detects that the mtime of the repo > > configuration has > > changed. > > > > This means that, while the correctness is fine, there may potentially be a > > performance issue. Currently, the repositories are quite small in size, so > > practically speaking the impact shouldn't be that large (which is also why I > > did not realize the issue until recently), but I thought I'd still bring it > > up > > nonetheless. > > > > A low hanging fruit to somewhat reduce the impact is to allow multiple spec > > strings in \`qubes.TemplateSearch\`, reducing the number of calls. > > (Currently, > > we're invoking the qrexec call for every package spec the user passes in.) > This indeed may be the simplest way, but I consider one spec - one call > a cleaner solution.
I see. > > To actually utilize the DNF cache, it seems that the following has to be > > done: > > > > 1. Check if the repo configuration has been changed (and the last update > > time > > and \`metadata\_expire\`) from the qvm-template side. > > 2. Invoke DNF with \`--cacheonly\` if we deem that the cache can be used. > > 3. Notably, DNF needs to be invoked with \`sudo\` as \`--cacheonly\` only > > uses the > > system cache and not user-specific ones. > > > > Alternatively, a hackish way is to cache the hash and mtime of the repo > > config > > on the updateVM side and override the mtime if the hash matches. > Since the cache is stored in the UpdateVM, IMO storing repo config hash > there sounds like the right thing to do (you can store mtime in the > mtime of the repo config hash file). Then, if unchanged repo config -> > unchanged repo config mtime, then dnf should do the right thing on its > own (respect metadata\_expire etc). It seems like this can be done pretty easily. I'll probably push this with other changes (e g., additional fields and separator change) I'm testing right now. > I wonder what dnf will say about different repo config path (because of > mktemp), have you checked? In my testing, DNF indeed does not seem to care about the path, which is quite interesting. Thanks, WillyPillow > https://blog.nerde.pw/ > > PGP fingerprint = 6CCF 3FC7 32AC 9D83 D154 217F 1C16 C70E E7C3 1C84 > > Protonmail PGP = D02D CEFF ACE5 5A7B FF5D 871E 4004 1CB1 F52B 127E Sent from ProtonMail mobile -- You received this message because you are subscribed to the Google Groups "qubes-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-devel/f6WCsd__j1G2Dyl8pNK0ZGfIXjwE9SxLV2SrvLpm4iRA_NUctuFGj2zb6Ovpr7oKPZsg9e3lkTDRi3_GiX8w_imCM5-zv1jNDsi6VuQ8Nhk%3D%40nerde.pw.
publickey - [email protected] - 0xD02DCEFF.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature
