On Sun, 8 Nov 2009, James Antill wrote:
Here's the full patch: http://james.fedorapeople.org/yum/patches/rpmdb-cache-BIG.path It should be good to merge, and I've tested it quite a bit, including writting ./test/rpmdb-cache.py which will check that the cache gives an identical answer to what we'd get without the cache. Due to the way it uses rpmdb version, it'll be pretty hard to alter the rpmdb without invalidating the cache ... although it's possible to do if you work at it, it should be impossible due to problems (power failure in a transaction etc.). The patch (ab)uses <cachedir>/rpmdb-cache/ for the place to store it's cached data ... anyone hate the name? Other obvious candidates are: <cachedir>/main/ <cachedir>/installed/ /var/lib/yum/... (although that means only root can write) It adds 5 new APIs for RPMDBPackageSack (YumBase.rpmdb) ... def returnConflictPackages(self): def fileRequiresData(self): def transactionCacheFileRequires(self, installedFileRequires, installedUnresolvedFileRequires, installedFileProvides, problems): def transactionCacheConflictPackages(self, pkgs): def transactionResultVersion(self, rpmdbv): And it adds .cleanRpmDB to YumBase. Now for the "good" stuff: echo | yum update FOO ... takes ~65% the time (~4.2 seconds to ~2.8) yum version nogroups ... takes ~50% the time (~1.2 seconds to ~0.6)
I've been thinking about this patch for a while. It worries me b/c of the potential impacts and just for cleanliness.
So I'm thinking we should take this patch set - put it in one big patch and roll it into a package for rawhide - see if anything comes out of it.
Would you be okay doing that? -sv _______________________________________________ Yum-devel mailing list [email protected] http://lists.baseurl.org/mailman/listinfo/yum-devel
