|
From: Daniel G. <go...@b1...> - 2010-09-14 22:55:31
|
Hi Chris, On Wednesday, September 15, 2010 10:30:14 am Chris Frey wrote: > Then I turn on slow-sync, and each record is flagged as ADDED, as expected. > > I would imagine that these records should be seen as conflicts, but > instead, they are added to both sides, and now both sides have 10 items. Check osync_obj_engine_map_changes() for detail implementation. What this function is doing: It iterates over all reported changes from all plugins/members. And compares each reported change with each other. _osync_obj_engine_mapping_find() does this comparsion and returns: OSYNC_CONV_DATA_MISMATCH complete different changes -> no mapping OSYNC_CONV_DATA_SIMILAR looks similiar. If there is no better mapping -> this creates a mapping with a conflict OSYNC_CONV_DATA_SAME perfect match -> creates a mapping OSYNC_CONV_DATA_UNKNOWN error case .. should never happen. So whats happening here is that osync_obj_engine_map_changes() doesn't create any mapping of your reported changes. All comparsion returns in OSYNC_CONV_DATA_MISMATCH. So instead of ideally 5 mappings (with 2 changes), it turns into 10 mappings (with 1 change). So this is the brief overview how a conflict happens. The curlpit in your case seems to be that the reported changes are too different. Check in the trace files the call of osync_change_compare() (which get called by _osync_obj_engine_mapping_find() at some point) and osync_xmlformat_compare() (in case you use the xmlformat as common format). Very likely the reason for that is the missing capabilities implementation/handling. Since one site is not supporting Field-X (or multiple Fields), the osync_change_compare() results in OSYNC_CONV_DATA_MISMATCH. Let me know if you need more information ... Best Regards, Daniel -- Daniel Gollub Geschaeftsfuehrer: Ralph Dehner Linux Consultant & Developer Unternehmenssitz: Vohburg B1 Systems GmbH Amtsgericht: Ingolstadt Mobil: +49-(0)-160 47 73 970 Handelsregister: HRB 3537 EMail: go...@b1... http://www.b1-systems.de Adresse: B1 Systems GmbH, Osterfeldstraße 7, 85088 Vohburg http://pgpkeys.pca.dfn.de/pks/lookup?op=get&search=0xED14B95C2F8CA78D |