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.

Attachment: publickey - [email protected] - 0xD02DCEFF.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to