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

List:       kde-pim
Subject:    Re: [Kde-pim] ItemSync issues, further investigation
From:       Christian Mollekopf <chrigi_1 () fastmail ! fm>
Date:       2014-10-04 10:15:44
Message-ID: 2327723.43LmEhc3rD () t420s ! chrigi
[Download RAW message or body]

On Friday 03 October 2014 18.35:30 David Faure wrote:
> So, I gather from the recent replies (thanks Christian and Dan) that all my
> problems come from the changes in ItemSync... More debug output in ItemSync
> shows this:
> 
> Akonadi::ItemSync::slotResult: 103 "Multiple merge candidates, aborting"
> 
> [then it keeps going with more calls to slotTransactionResult, and then some
> readyForNextBatch like this]
> 
> akonadi_imap_resource_0(26958)/libakonadi
> Akonadi::ItemSyncPrivate::checkDone: readyForNextBatch 100
> akonadi_imap_resource_0(26958)/libakonadi
> Akonadi::ItemSyncPrivate::checkDone: readyForNextBatch 100
> 
> and then suddenly this happens:
> 
> akonadi_imap_resource_0(26958) ImapResourceBase::startTask:
> akonadi_imap_resource_0(26958) ResourceTask::start: Starting task
> RetrieveItemsTask(0x123cfb0) ResourceTask::onSessionRequested: task
> RetrieveItemsTask(0x123cfb0) session request says 13 7 "Could not create
> another extra connection to the IMAP-server imap.gmx.com."
> ResourceTask::onSessionRequested: Cancelling this request. Probably there
> is no more session available.
> 
> But, but, the item sync is not done, the emitResult in itemsync.cpp wasn't
> emitted. However I found out why taskDone was called:
> 
> the ItemSync job gets this string from the akonadiserver:
> "NO There is no transaction in progress"
> which leads to a direct emitResult() in akonadi/job.cpp:65.
> 

Good catch! I was trying to reproduce that scenario but already dismissed it 
because the ItemSync seems to deal just fine with errors in the ItemCreateJob.

> =>
> 
> 1) Maybe this should be caught by ItemSync to abort everything else it's
> doing?
> 

Since we have no means to abort what the resource is doing, the ItemSync 
should just continue to accept data until the resource decides it's done.

> 2) Why does the akonadiserver reply that? 

This is returned if we try to either rollback or commit a transaction while 
none is running.

> Because it stopped after "Multiple
> merge candidates, aborting"? But then the comment in itemsync that says
> "let's keep going" (after the first error) is wrong?
> 

I'm not yet sure why this is happening, but I'm investigating.

> 3) What does "Multiple merge candidates, aborting" mean? I can reproduce
> this reliably by selecting my "archive" folder (5k emails).

We have a MERGE command that is essentially create or modify depending on 
whether the item is already available. This command uses the either item id, 
RID or GID, depending on what is available, to find merge candidates. For a 
plain imap resource we always merge by RID, so the error means that you have 
several items with the same RID in a collection.

Cheers,
Christian


_______________________________________________
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