[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Better repodata performance




--- Begin Message --- Florian La Roche wrote:

I was thinking to myself that having to download only the compressed
xml files might be a win (bandwidth-wise) over going though all of the
headers like good old yum 2.0 did, at least in the short term, and for
a repository that doesn't change too much.



Since you need all filelists to look at dependencies, the data is
just real big. True, the rpm deps are real nice working to have the
correct packages installed.



You only need all file lists for a general solution to file dependencies.


In practice the number of needed paths is orders of magnitude smaller than all
possible file paths, there really are very few file dependencies in Fedora packaging.


So the problem is one of redulcing all possible file paths, down to something
more manageable.


Yum has a heuristic that filters by path that sensibly reduces the set of all paths
down to specific paths that are likely needed. The rule is cheap to implement
and gets almost all of the benefits of reducing the file set.


Slightly better would be to extract the list of file dependencies explcitly
mentioned in dependencies when the repository metadata is created,
and add exactly that "known needed" file path set to the repository metadata.


That is a (slightly) harder implementation that noone has gotten around to doing,
mostly because everyone is so busy redesigning yum and up2date that noone has
time to code.


Luckily the rule based filtering has almost all of the benefit already.

One thing I always wondered: Given you only install from one repository
(or maybe several ones where then data is collected for all of them;-)
and you create a special dep graph. Can you then use a reduced dep info
to know that packages all update to available rpm packages in the newest
repository and you can then use the graph to look at deps instead of
computing that again on the client side?


Have at, patches cheerfully accepted.

73 de Jeff



--- End Message ---

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]