Development and pending features

Anders F Björklund afb at algonet.se
Tue Aug 12 06:28:23 PDT 2008


Gustavo Niemeyer wrote:

>> The main problem is that the extra data for the changelog bloats  
>> the cache.
>> While the filelists are only added to fulfill file dependencies,  
>> this adds
>> overhead to every single package which makes cache loading even  
>> slower...
>> To be more useful, it would be nicer if this could be done "on  
>> demand" ?
>
> Indeed.. the whole changelog can't be put in memory for every  
> package.  The
> on demand logic is supposed to be implemented with PackageInfo  
> instances.
> Some of them actually are, but there might be some backend which keeps
> data in memory.

I naively added them as arrays to the PackageInfo (filelists and other)

     def __init__(self, package, loader, info, pathlist=[], changelog= 
[]):
         PackageInfo.__init__(self, package)
         self._loader = loader
         self._info = info
         self._pathlist = pathlist
         self._changelog = changelog

     def getPathList(self):
         return self._pathlist

     def getChangeLog(self):
         return self._changelog

When using Yum, these are loaded on-demand from the sqlite md  
information.
But when not using file provides/requires (as per Fedora packaging  
policy)
and when not using the yum-changelog plugin, usually "primary" is  
enough*.
So it doesn't even download the "filelists" or "other" metadata,  
normally.

The loading of "comps" or "updateinfo" metadata isn't really a  
problem, as
those two are much smaller. But filelists+other is about 5-10x  
primary...

--anders

* by definition, "primary" includes files under the RE:
   ['.*bin\/.*', '^\/etc\/.*', '^\/usr\/lib\/sendmail$']

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: metadata-sizes.txt
URL: <http://lists.labix.org/pipermail/smart-labix.org/attachments/20080812/4ff6f2a9/attachment-0001.txt>


More information about the Smart mailing list