[#13847] Duplicated contacts when using ActiveSync on Android
Summary Duplicated contacts when using ActiveSync on Android
Queue Horde Groupware Webmail Edition
Queue Version 5.2.4
Type Bug
State Not A Bug
Priority 1. Low
Owners
Requester stephan.althaus@hoewweken.de
Created 2015-02-06 (1661 days ago)
Due
Updated 2015-02-23 (1644 days ago)
Assigned 2015-02-06 (1661 days ago)
Resolved 2015-02-23 (1644 days ago)
Milestone
Patch No

Comments
stephan.althaus@hoewweken.de 2015-02-06 20:20:29
My Server had a crash. the mysql database was full of contact data.
in my newly set up system the dublicate search gives a different count 
of dublicates for the different contacts.

Duplikate von Name
Name         Anzahl
Georg Abarth         27
Thawra Abu-Ijheisheh         9
Michaela Aegerter         10
Jörg Ahlers         14
Barbara Alm         23
reschner alm         24
...

i use Sony Xperia with android:
SonyD5503
Nicht verknüpft
Policy Key: 0
Programm: SonyD5503/4.4.4-EAS-2.0
EAS Version: 14.1
Gespeicherter Heartbeat (Sekunden): 1080


Michael Rubinsky <mrubinsk@horde.org> 2015-02-06 20:28:33
You say it's only with Android, but say the duplicate finder in Turba 
finds them? Without more information, like *where* the extra contacts 
came from, where they are showing, what steps were taken, a copy of 
the server logs etc... I can't really provide much help.

It rather sounds like some side effect of the client thinking it's a 
new account and sending the local contacts store up to the server. 
Still, no idea why it would happen multiple times. Would need a sync 
log to know for sure.

stephan.althaus@hoewweken.de 2015-02-09 20:19:27
> You say it's only with Android, but say the duplicate finder in 
> Turba finds them? Without more information, like *where* the extra 
> contacts came from, where they are showing, what steps were taken, a 
> copy of the server logs etc... I can't really provide much help.
>
> It rather sounds like some side effect of the client thinking it's a 
> new account and sending the local contacts store up to the server. 
> Still, no idea why it would happen multiple times. Would need a sync 
> log to know for sure.

I have only my Sony to test so far. I tried to get an activesync log, 
but that didn't work for me..
So i activated the general_log in /etc/mysql/my.cnf and there i can 
now see the traffic.
Just for testing, i added an unique key on the table turba_objects, 
this prevented the dublicates,
but the sync never ends.. - that is correct behaviour :-)

Can you tell me, which key is used to get the match between server- 
and client-Contacts?

Ich have a vcardfile on my mobile with at least 535 contacts that i 
exported on my device as a backup in nov 2014.
In Android contacts, i do an import from this file and select the 
horde exchange account to add the contacts to.. some object_photos are 
in there too...

i will investigate further and try to get a correct sync log..


Michael Rubinsky <mrubinsk@horde.org> 2015-02-09 23:23:55

> I have only my Sony to test so far. I tried to get an activesync 
> log, but that didn't work for me..
> So i activated the general_log in /etc/mysql/my.cnf and there i can 
> now see the traffic.

This won't help.

> Just for testing, i added an unique key on the table turba_objects, 
> this prevented the dublicates,

There already *is* a primary key on the turba_objects table.

> but the sync never ends.. - that is correct behaviour :-)
>
> Can you tell me, which key is used to get the match between server- 
> and client-Contacts?

object_uid uniquely identifies the contacts.

> Ich have a vcardfile on my mobile with at least 535 contacts that i 
> exported on my device as a backup in nov 2014.
> In Android contacts, i do an import from this file and select the 
> horde exchange account to add the contacts to.. some object_photos 
> are in there too...

This is not supported via ActiveSync, the protocol was not designed 
for large, bulk updates like this from the client. Even with a true 
Exchange server this number of contacts wouldn't work. Unlike the 
server -> client response, there is not "MOREAVAILABLE" tag in client 
-> server requests to split the updates. Most likely your request is 
either timing out or hitting a memory limit. You should instead import 
the vcard file directly via Turba.