Hello Lukas!

Let me pick your brain for a second... :-)

When SyncEvolution runs a local sync (i.e. both client and server are
provided by SyncEvolution) and the sync gets aborted (= STEPCMD_ABORT is
passed to SessionStep()), I noticed that the next sync starts again as
if nothing happened.

For example, aborting a normal two-way sync and then syncing again does
another normal sync using the same sync anchors because the datastores's
SaveAdminData has never been called during the aborted sync.

The result is that the server can end up adding the same items twice,
once during the aborted sync and again during the next one. This causes
duplicates, because the client side has no means of detecting the
duplicate.

How is this case supposed to be handled? Is SyncEvolution doing
something wrong in its change or meta data handling?

My current workaround consists of detecting when the server side sends
data to the client and resetting the admin data. If the sync does not
complete, the next sync will be a slow sync because the server's sync
anchor is gone. Is there a better way?

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.




_______________________________________________
os-libsynthesis mailing list
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis

Reply via email to