[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-release-team
Subject:    PATCH: Fix severe speed regression when sending emails with KMail
From:       Thomas McGuire <mcguire () kde ! org>
Date:       2010-07-29 18:18:40
Message-ID: 201007292018.47886.mcguire () kde ! org
[Download RAW message or body]

[Attachment #2 (multipart/signed)]

[Attachment #4 (multipart/mixed)]


Hello,

we have by accident introduced a bad regression in kdepimlibs in the 4.5 
branch. The effect of that regression is that sending a mail can take quite a 
long time, during which the GUI is blocked, up to several minutes.
We have fixed this issue in the 4.5 branch with revision r1156791 [1], which 
was to late for the 4.5.0 tag.

The problem happens for KMail 1 (from the 4.4 branch) in combination with 
kdepimlibs from the 4.5 branch.

Please include this patch in your packages. It is also attached to this mail, 
for you convenience.
Dirk: Can you also please add the commit to the tag?

Technical background: Before sending a mail, KMail looks if any of the 
recipients is a nickname or a contact group, to transform those to real 
addresses. For those, we use a lookup/search in the Nepomuk database. By 
accident, we used a regexp/contains search, instead of an exact match search, 
which would have been sufficient. Apparently, Nepomuk/Virtuoso is quite slow 
for regexp/contains searches, which is where the speed regression came from. 
The patch restores the correct behaviour of doing an exact match search.

Regards,
Thomas McGuire

[1] http://websvn.kde.org:80/?revision=1156791&view=revision

["contactsearch-speed-fix.diff" (text/x-patch)]

Index: akonadi/contact/contactsearchjob.cpp
===================================================================
--- akonadi/contact/contactsearchjob.cpp	(revision 1156790)
+++ akonadi/contact/contactsearchjob.cpp	(revision 1156791)
@@ -50,7 +50,7 @@
 
 void ContactSearchJob::setQuery( Criterion criterion, const QString &value )
 {
-  setQuery( criterion, value, ContainsMatch );
+  setQuery( criterion, value, ExactMatch );
 }
 
 void ContactSearchJob::setQuery( Criterion criterion, const QString &value, Match match )

["signature.asc" (application/pgp-signature)]

_______________________________________________
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic