|
From: Daniel G. <dg...@su...> - 2008-02-12 15:22:28
|
On Tuesday 12 February 2008, Michael Bell wrote: > >>> Output from 1) and 2) respectively below. Note how entries are > >>> transferred FROM the file-sync only in case 2). The problem in 1) > >>> seems to be that msynctool doesn't request a slow-sync from ALL devices > >>> when one of them does a full sync. > >> > >> Perhaps we need advice from a more senior project member. Is this an > >> OpenSync or a msyntool bug? The SyncML plugin signals slow sync via > >> the sink. > > > > Could it be a timing problem? I.e., that syncml signals a slow-sync > > when the file-sync plugin has already started doing a two-way-sync? > > The problem is that the SyncML plugin detects the necessary slowsync > during the get_changeinfo call or better during the processing of the > get_changeinfo request. There is no function where we determine the type > of synchronization. > > @Daniel: is this correct? Slow Syncing gets triggered like this: #1 Group was locked -> All Object Engines get triggered for a slow-sync. #2 Plugin triggers slow-sync: anchor mismatch (which should be the case if it got synced in meanwhile with another environment) In this case 2nd should appear. The Object Engine(s) should get set to perform a Slow Sync. Then it's up to the plugin in the get_changes sink function to check if a slowsync got requested by the Object Engine or not. If not all plugins perform a plugin there are two possibilities what went wrong: #1 Buggy Plugin which doesn't check for SlowSync carefully in the get_changes() function (in this case the file-sync plugin... but it checks correctly the sink for slowsync in the get_changes() function) #2 OpenSync doesn't flag the correct Object Engine to perform a slow-sync. So the Sink Engine isn't flagged and the plugin will not perform a slow-sync. (VEEEERY LIKELY since we did some changes with the sinks!!!!!!!!!!!!!!!! Michael already mentioned this in another mail.) |