[sync] Tasks duplicated if marked "completed" on client
Jan Schneider
jan at horde.org
Sun May 3 11:20:48 UTC 2009
Zitat von Marcel Samek <msamek at machinimamagic.com>:
> I use the syncml client for the iphone and use it to sync my
> calendar entries and my task list.
>
> I have noticed that there is a bug if I mark a task as "completed"
> on the client and then sync. After the sync operation, the task on
> the server ends up being duplicated, with one copy marked as
> completed and the other not.
>
> I am running Horde 3.3.4-RC1 and Nag 2.3.1
>
> I emptied the contents of my /tmp/sync folder, marked a task as
> complete on the client, then performed a sync. The resulting
> contents of the /tmp/sync folder are in the attached tar file.
>
> Please let me know if is any other information to attach.
These are the important lines from your sync logs:
DEBUG: SQL Query by SyncML_Backend_Horde::_getSuid(): SELECT
syncml_suid FROM horde_syncml_map WHERE syncml_syncpartner = ? AND
syncml_db = ? AND syncml_uid = ? AND syncml_cuid = ?, values:
74471d58d4faec74c8ae1addb338689e32244399, tasks, msamek, 44
DEBUG: No map entry found for client id 44 replacing on server
DEBUG: Added to server db tasks client id 44 -> server id
20090501115228.66265hzh2y7kpkow at webmail.machinimamagic.com
DEBUG: SQL Query by SyncML_Backend_Horde::_getSuid(): SELECT
syncml_suid FROM horde_syncml_map WHERE syncml_syncpartner = ? AND
syncml_db = ? AND syncml_uid = ? AND syncml_cuid = ?, values:
74471d58d4faec74c8ae1addb338689e32244399, tasks, msamek, 44
DEBUG: SQL Query by SyncML_Backend_Horde::createUidMap(): INSERT INTO
horde_syncml_map (syncml_suid, syncml_timestamp, syncml_syncpartner,
syncml_db, syncml_uid, syncml_cuid) VALUES (?, ?, ?, ?, ?, ?), values:
20090501115228.66265hzh2y7kpkow at webmail.machinimamagic.com,
1241203948, 74471d58d4faec74c8ae1addb338689e32244399, tasks, msamek, 44
DEBUG: Added instead of replaced entry
20090501115228.66265hzh2y7kpkow at webmail.machinimamagic.com
The id that the client is sending to the server (44) is not found in
the server's map of earlier syncs. The question is whether this the
client's fault, sending a wrong (new) id, or the server's fault,
either not storing the correct id during the first sync, or not being
able to retrieve the id during the second sync.
To test this, create a new task (either on the client or the server),
sync, take a look at log.txt and see which id's are being used by the
client and the server. Then see if those ids are correctly stored in
the horde_syncml_map table.
If they are, then complete the task, do another sync, and take again a
look at log.txt whether the same ids are being used.
Jan.
--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/
More information about the sync
mailing list