Re: [Evolution] [ews] EWS throttling

On Wed, 2017-06-21 at 07:43 +0200, Milan Crha wrote:
On Tue, 2017-06-20 at 23:39 +0000, Martin Kelly wrote:
Specifically, I'm getting messages back from the server with code
ErrorServerBusy and a BackOffMilliseconds value set.

could you run evolution with EWS debugging on, to see the exact
response from the server, please? It can be done with:

   $ EWS_DEBUG=2 evolution

I'm wondering which policy the update exceeded and the error message
sometimes contains detailed information.

Sure, I've opened a bug and attached the log to it:

Unfortunately, I don't have the rest of the transaction logged.

However, it seems like EWS is failing the transaction
rather than backing off.

Yes, can be. I hear about this for the first time, though it doesn't
mean much.

In any case, handling throttling would be very helpful for me when
processing a large mail sync.

What is the "large" here, like hundreds of messages from the last
Even, it depends on the policy it exceeded.

More than hundreds; thousands (importing a large amount of mail for the
first time). Something like 10,000 messages, I would guess.

Is this difficult to add?

Possibly. Many things are done in a synchronous way, which means a
dedicated thread runs an operations and does not finish until it's
truly done. That "wait for result, eventually restart the query when
asked to" might be a little challenge to implement properly. I also
didn't check the code, it's only my first impression.

Should I file a bug report?

Sure, you can. GNOME bugzilla, evolution-ews product:

In case the policy has anything to do with number of connections,
I'd try to turn off "Listen for server change notifications" in
Receiving Options tab of the mail account Properties. That option
another connection dedicated only for the notifications. Note that it
is not only about mail, the same applies to contacts, calendars, task
lists and memo lists - all of them can do an update at the same time,
from different processes.

I will try this, thanks.

Attachment: log
Description: log

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]