On Wed, 2007-12-19 at 23:09 -0500, James Antill wrote: > Ok. so Xmas present everyone :). This is a biggish change I've been > working on for a bit. It basically changes _loadRepoXML() to download > the repomd.xml and all of the MD files as an atomic group, and if > anything goes "wrong" we revert to the old set of MD. > I looked at another approach, of only trying to revert to old data if > any of getPrimaryXML() etc. had a problem ... but that was much more > complicated, and required we store at least one old copy of everything > and doesn't solve some of the network issues this way does. > I've been running it for a bit, and I've tried to test some of the > failure cases to make sure it actually does what it says on the box. > Anyway, please take a look and let me know what you think you have a bit > as I'm not planning on checking it in this year (but feel free to test > it too :). >
Not looked through the whole patch yet but some initial thoughts: 1. this looks like a neat implementation. 2.The size of the download if we include ALL of the changelog data is a bit much. It ends up being a download of about 20M for fedora 8 everything - then about half that for updates... We don't NEED the changelog data for depsolving/installs or even searching. Maybe and option to not grab it at the same time? Alternatively, the other direction to take this is to put a simple heuristic into the cache grabbing: keep a count on the bad metadata per run per repo. If we get more than 2? Then grab a tmp copy of the repomd.xml from the same mirror and compare that one with our current copy. If the timestamp field of any of the files is newer than the timestamp in the the one we have, then dump the one we have and start over. -sv _______________________________________________ Yum-devel mailing list [email protected] https://lists.dulug.duke.edu/mailman/listinfo/yum-devel
