Not all that much better with PostgreSQL

Martin Steigerwald martin at
Fri Apr 12 18:39:04 BST 2019


Since five (!) minutes I am trying to access a mail in a folder that has 
been indexed before and just got the "Retrieving …" thing. Now, it 
finally came up.

Why? Likely cause I happened to click on a folder that has not been 
indexed and then Akonadi prioritized indexing the folder over my most 
recent request.

This in my opinion has been the major issue with Akonadi for years and 
still is the major issue:

Whenever Akonadi decides that it needs to do something in the 
background, it often *completely* stops responding to any user requests.

However what is Akonadi's purpose? To serve the user of the applications 
that are using it.

For me after the rule to store all data safely and reliably the second 
most important rule would be:

The user goes first. Whenever the user clicks on a mail, a folder, an 
appointment, I let everything pause if need be in order to serve the 
other in a timely manner. I will always prioritize user requests above 
all background processing I do. And if the user decides differently after 
the moment, the user is always right and I stop or background the 
processing the user requested before in order to serve his/her most 
recent request promptly.


The third most important rule, that is an addition to the first one is:

I do only work when it is useful. For example Akonadi currently thinks 
it has to re-index a folder just cause it filtered some mails into it. 
However, as a user I may not even intend to look into the folder. It 
just has to stuff those mails into it and *be done with it*. And when I 
click the folder, it can still apply rule 1 as follows:

Make sure the first mails are shown as quickly as possible and extend 
when the user likes to see more or uses the search facility. Display 
incrementally and remain responsive while doing so.

I believe in order for Akonadi to be enjoyable by users it absolutely 
must abide by these rules.

Always and not just sometimes.

Also with a lot of mail.

I have seen this before – with Zimbra Collaboration Server which uses 
MySQL/MariaDB and Lucene. Even with a folder with 450000 mails.

So it can be done.

Rant over.


More information about the kdepim-users mailing list