GNOME Bugzilla – Bug 474502
Don't check for contacts in broken address books more than once
Last modified: 2009-11-23 20:25:55 UTC
Please describe the problem: The connector downloads all the emails, and for every mail address it does an ldap look-up. If the ldap server is not available that means a 1 minute pause for each. Steps to reproduce: 1. Have an exchange account with an ldap server 2. Go outside a firewall, loosing server 3. Start evolution Actual results: A very long wait. E2K_DEBUG=4 shows it is for multiple ldap accesses Expected results: 1 1 minute wait for one ldap lookup by evolution, not many times a minute It would be nice not even to have this! Does this happen every time? Yes Other information: Evolution 2.11.92 version
Wiliam: Can you mail me the E2K_DEBUG log? Monday is Hard code freeze, so, if you can send the log across, I will try to debug through the issue.
I am trying. It is 10MB and seems not to want to upload. This file was generated as about the 5th time evolution had been run, and it was much quicker - it started in only ab out 5 minutes. exchange only did 2 ldap lookups - the first time it was lots. Maybe it cashes the results? On this occasion they were: Me first (always true) fedora-test-list@redhat.com i.e. It seems to take them from my email But even 5 minutes is not really acceptable...
(In reply to comment #2) > I am trying. It is 10MB and seems not to want to upload. > > This file was generated as about the 5th time evolution had been run, and it > was much quicker - it started in only ab out 5 minutes. exchange only did 2 > ldap > lookups - the first time it was lots. Maybe it cashes the results? > On this occasion they were: > Me first (always true) > fedora-test-list@redhat.com > i.e. It seems to take them from my email > > But even 5 minutes is not really acceptable... > Please do not attach such a big file in bugzilla. 10MB after compression? can you come in IRC - so that we can discuss about it a bit? You can find me in #evolution channel in irc.gimp.org (Gimpnet) server. Yes, 5 minutes is still un-acceptable.
Created attachment 95140 [details] Top of a evo-exchange E2k_DEBUG=4 log This goes a few lines past the first LDAP lookup. Evolution itself does an ldap lookup, but going from 2.10.3 to 2.11.92 it seems that evolution-exchange now does too. Each one means a one-minute hang...
So.. GC: looking up info for W.J.Murray@rl.ac.uk GC: Connecting to ldap://130.246.132.94:3268/ GC: Failure sending first NTLM bind message: 0xffffffff ** (evolution-exchange-storage:7151): WARNING **: LDAP authentication failed (0xffffffff) GC: ldap_search failed: 0xffffffff is getting repeated? Do you find any other "repeated communication" happening other than this GC lookup?
No. Evolution looks up me: GC: looking up info for W.J.Murray@rl.ac.uk GC: Connecting to ldap://130.246.132.94:3268/ Then evolution-exchange does the same. Evolution never looks up anyone else again. evolution-exchange does a lookup for several different names, something to do with downloading them for offline, or reading the headers. Anyway, it happens before you can do anything. In each case it is a 1 minute delay until ldap times out Bill
Lot of performance fixes went into the recent releases. Can you please try with the latest stable release 2.22.1 and let us know if you still face any issue. Thanks in advance.
I'm sorry, but this problem is still there. I am sitting here with two ethernet cables, one gives access to the work intranet, the other is a visitor connection to the outside world. I can swap my laptop between them, running 2.22.1 from F9 pre. LDAP status: visible Not accessible Time of 1st window 5s 90s Time old email appears 10s 4 mins Time new emails appear 20s 6 mins. So no, not really. Using owa from outside the corporate firewall is still a real pain. [Just one caution about this - I should have been able to pptp through and test that way, but this did not seem to work] Bill
Oh, I guess Evolution is configured to check for Junk and skip messages from persons in your address book, and because the exchange GAL is configured for an autocompletion, and you do not force lookup in a local address books only, then your inaccessible remote address book is always used. Results of this lookup are cached locally, which might explain why it checks for each address only once. Try to look to Edit->Preferences->Mail Preferences, tab Junk for your setup on this. There was a rewrite on this recently, within bug #397265, but it doesn't cover your case, thus I'll try to make it more clever, not searching in inaccessible address books more than once. (It is supposed to try to search in all configured address books at least once, and give up on it on the error, maybe timeout and try again say each hour?)
Created attachment 148344 [details] [review] evo patch for evolution; Skips any address book on first error encountered on it until next start of evolution in functions asking for email addresses, which is, if I recall correctly, just "Load images in mails from contacts", "show contact's picture" and "not a junk if from an address book".
Created commit 61051dd in evo master (2.29.3+) Created commit 93c4c2c in evo gnome-2-28 (2.28.2+)