[sync] [horde] Sync with Funambol

Jan Schneider jan at horde.org
Wed Nov 5 22:59:40 UTC 2008


Zitat von Paul Faure <paul.faure at agr.gc.ca>:

>> > The error is that any new contact I add on the client does not show up
>> > on the server. The error I constantly get is "already exists with server
>> > id 3e37b9140457c0f37039de9227cb4915"
>> > If I add 5 new contacts on the client, they all give me that error when
>> > I sync it.
>>
>> All with the same id?
>
> Yes, all with the same ID. And that ID can't be found anywhere on the
> client, or in the /tmp/sync/client_*.xml logs.

It shouldn't, because it's the server id, not the client id.

>> > I have tried removing all contacts on the client and removing the sync
>> > data on the server then starting from scratch.
>> > Server -> Client works fine.
>> > Client -> Server (update only) works.
>> > Client -> Server (new contact) always gives me the error above.
>> >
>> > The contacts I tested with have had minimal information in them
>> > (sometimes just a name and a note) or just a name and an email. The
>> > example below is one of just a name and a note. Yea, not useful but its
>> > for testing.
>> >
>> > I have no idea where the contact ID of
>> > "3e37b9140457c0f37039de9227cb4915" comes from. It is not sent by the
>> > client, the logs /tmp/sync/client* dont have any mention of it, and I
>> > scanned the entire database and could not find it in there either
>> > (except after the failed sync and it shows up in the sync map table).
>> >
>> > I was under the impression that a proper contact ID had the form of
>> > "20080707114252.193522rqn30xy740 at DOMAIN.COM".
>>
>> Yes, exactly. What's the client id of the entry in the map table after
>> the failed sync? Does it match one of the ids sent from the client?
>
> An example of a failed sync map entry (when I created a new contact on
> the client and tried to sync it to the server):
>
> syncml_syncpartner = fol-T05PVFRBNDc2NTA2OmZhdXJlcA==
> syncml_db = contacts
> syncml_uid = paul
> syncml_cuid =
> 0000000080686E075BD4C7488AD4D1CFE7CA75700700AC094F4F121FB74DAB99B50F115983F900000132119F00005F1403857813194AACFA1F3F566A159400000188CBFD0000
> syncml_suid = 3e37b9140457c0f37039de9227cb4915
> syncml_timestamp = 0

That's a huge client id. Why the heck does it generate such a long id?  
Anyway, one thing to check would be that there is no overflow  
somewhere. The columns once used to be smaller IIRC, so make sure that  
this is the complete client id and that it doesn't get truncated in  
the database.

> Also, I can't find a matching entry in turba_objects where object_uid =
> 3e37b9140457c0f37039de9227cb4915.

Yeah, UIDs look different anyway. I sill have no idea where this id is  
coming from. This rather looks like a contact ID.

> How is the contact ID generated? And with a new contact, who (client or
> server) is responsible to generate it.

Both, the contact ID and the UID are generated by Horde when a contact  
is added from a client. Only the UID is used for synchronization, the  
ID shouldn't show up anywhere.

> Im more than willing to debug this one myself, I just need a little bit
> of background info.
> In order to setup an LDAP front end to the Horde contact table, I had to
> create a new field in the turba_objects table called "id" which is
> simply a unique auto_inc 32 bit integer. OpenLDAP with a DB backend
> requires this integer field as a unique entry instead of a varchar
> unique field.
> This could be the cause of my troubles.

You didn't mention so far, or I missed that, that you are using LDAP.  
This might have some influence, though I can't think of one out of my  
head. But I don't understand from you discription anway, how your  
setup looks like.

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/



More information about the sync mailing list