Hello!

I have tested activesyncd + SyncEvolution + Google. Here some random
remarks.

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
works.

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.


_______________________________________________
SyncEvolution mailing list
SyncEvolution@syncevolution.org
http://lists.syncevolution.org/listinfo/syncevolution

Reply via email to