[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-pim
Subject:    Re: [Kde-pim] Speed of storing large numbers of records, and sizes of akonadiserver and dbus-daemon
From:       Andras Mantia <amantia () kde ! org>
Date:       2012-02-27 7:04:29
Message-ID: 20120227071404.87CA44EC4004 () mail ! kdab ! com
[Download RAW message or body]

Hi,


Shaheed Haque wrote:

> I managed to catch the inital part of the debug output, and I *think*
> this is the command that is fetching all the results:
> 
> akonadi_exgal_resource_269 (0x7fdb30030ec0) 35 FETCH 1:* FULLPAYLOAD
> ALLATTR CACHEONLY EXTERNALPAYLOAD (UID REMOTEID REMOTEREVISION
> COLLECTIONID FLAGS SIZE DATETIME)
> 
> I assume the asterisk is the reason whay all the records are fetched?
> Assuming so, that seems to come from
> ItemFetchJobPrivate::startFetchJob(), which is started from
> ItemSync::doStart(). IIUC, the idea seems to be to fetch the entire
> collection, modify it, and then write the results using
> ItemModifyJob. The key line of code seems to be in
> ItemSync::doStart():
> 
>   ItemFetchJob* job = new ItemFetchJob( d->mSyncCollection, this );
> 
> Now, given that I am signalling my intention to modify only part of
> the collection by calling ItemSync::setIncrementalSyncItems(), how
> about if the above line was changed to moral equivalent of:
> 
>   ItemFetchJob* job;
>   if ( d->mIncremental ) {
>        incremenatlItems = d->mRemoteItems + d->mRemovedRemoteItems;
>        job = new ItemFetchJob( incrementalItems, this );
>   } else {
>         job = new ItemFetchJob( d->mSyncCollection, this );
>   }
> 
> AFAICS, that would be consistent with the definition of
> setIncrementalSyncItems(), and avoid fetching the whole collection.
> Any thoughts?

Where is your code, can you give us a weblink or such? I assume somewhere in 
playground, but just point us. 
Maybe you didn't set the setItemSynchronizationFetchScope to not fetch the 
full payload when something has changed? 

Andras
_______________________________________________
KDE PIM mailing list kde-pim@kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic