I have tested activesyncd + SyncEvolution + Google. Here some random
must retry eas_sync_handler_get_items()
eas_sync_handler_get_items() with an empty sync key returns with a new
sync key, but without any items, even if the server has some. The "more
available" flag is not set. After repeating the call with the new sync
key, I do get the existing items listed. Exchange returns them
immediately, without having to ask again. I have a retry as workaround
in SyncEvolution now. Is it expected that a client handles that?
changes not propagated immediately
When running the SyncEvolution change tracking test, it fails because a
second simulated client isn't told about the changes made by the other
client. This can be avoided by adding a 5 second delay between making a
change via one client and checking with the next.
I suppose that is acceptable because eventually (? - haven't actually
tested retrying) the second client will see the changes. There's no
guarantee that it has to be instantaneous. It would be nicer to not have
to wait because a small value might be too small (with 5 seconds it
still fails occasionally) and a large one will slow down testing.
incorrect 401 errors
While running the tests, I got prompted by activesyncd (via ssh-askpass)
to enter my credential again, although they had already been used and
entered correctly. I've seen the same "problem" with Google CalDAV:
after making a certain number of requests, the server will suddenly
reject valid credentials. Retrying later with the same credentials then
I believe that this is some kind of rate limitation. Interactively
asking the user will pause the access to the server. But it breaks
automated testing. I don't know what the "right" solution is. Perhaps
using a different authentication mechanism?
In SyncEvolution's CalDAV backend I have some logic which tracks
whether the current credentials were accepted by the server before. If
yes, then it retries for a while before failing with an invalid
credentials error (that's all that it can do because there is no
interactive password request mechanism while a sync runs).
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
Show replies by date