On Wed, Feb 08, 2012 at 20:51:41 +0100, Patrick Ohly wrote:
On Wed, 2012-02-08 at 20:27 +0100, Tino Keitel wrote:
> Hi,
>
> I recently get an error when trying to sync the calendar with a remote
> syncevolution (1.2.1, now 1.2.2).
>
> This is the error on the command line:
[...]
> The HTML log contains a lot of there errors:
>
> RemoteID=1142 [--][++] [->end] [->enclosing]
>
> [2012-02-08 20:10:18.702] add item operation received
> [2012-02-08 20:10:18.702] startDataWrite called, status=0
> [2012-02-08 20:10:18.702] TStdLogicDS::logicProcessRemoteItem
> starting, SyncOp=add, RemoteID='1142', LocalID=''
> [2012-02-08 20:10:18.702] Executing Script 'beforewritescript'
> [2012-02-08 20:10:18.702] adding "XXX"
> [2012-02-08 20:10:18.710] InsertItemAsKey res=409
> [2012-02-08 20:10:18.710] cannot create record in database
> (sta=409)
> [2012-02-08 20:10:18.710] Database Error --> SyncML status 409
> [2012-02-08 20:10:18.710] - Operation add failed with SyncML
> status=409
>
> –[2012-02-08 20:10:18.710] End of 'Process_Item' [->top]
[->enclosing]
Is that from the local side? You are using Evolution there, right? Is
the server side using the file backend?
Yes to all three questions.
In such a combination it is possible that the server ends up storing
two
independent items with the same UID, because the file backend is
oblivious of the iCalendar 2.0 UID/RECURRENCE-ID semantic. When that
happens, the server asks the client to store an item that the client
already has, which the client can detect based on the UID/RECURRENCE-ID.
The client then refuses to add that item again with the 409 status to
the engine.
So I can fix this by removing duplicates manually on the server side
file storage, right?
Regards,
Tino