[Kde-pim] flavours of mixedmaildir resources

Bruno Haible bruno at clisp.org
Sun Jan 29 14:26:25 GMT 2012


Hi,

I've been using kmail for ca. 13 years, and my requirements are:
  - to fetch mail from a POP3 account,
  - to send mail to the SMTP server of my provider,
  - to manage 1 GB of past mails, spread over 1282 folders,
    in a hierarchy of 68 directories, while keeping the folders
    in their original mbox format (because that is the format with
    the highest interoperability).

Not so extravagant requirements, I think. No automatic spam filter,
no mailing list routing, no subject rewriting, no IMAP.

KMail 4.7.4 can't do this without bringing my machine to its knees.
<https://bugs.kde.org/show_bug.cgi?id=290355>
"Eight megabytes (RAM) and almost continuously swapping" - that was a
90ies joke about Emacs. "Four gigabytes (RAM) and almost continuously
swapping" - that has been the reality with akonadi_mixedmaildir_resource
for me since I switched to kmail2.

The reason is that each time I press Ctrl-L (to fetch mail), kmail
not only triggers a mail retrieval from the POP3 account, but also
a "full sync" from the "resource" that contains the 1 GB of last mails.
In the akonadi_mixedmaildir_resource this code is executed:

  switch ( mCurrentTask.type ) {
    case SyncAll:
      emit executeFullSync();

The size of this process then quickly goes to 1.4 GB physical, 1.8 GB
virtual, and a while later it goes past 2 GB. And it never goes down
again.

This behaviour would be OK for a directory into which some daemon is
delivering new mail (such as /var/spool/mail/). For an archive, it
is inappropriate and catastrophic.

In an archive directory, the desired behaviour is different in two points:

  1. Ctrl-L never triggers a full sync.

  2. Even when a full sync is done (to feed nepomuk or the mysql database),
     the process needs to drop the contents of a folder from memory after
     it has processed it. My archive had 1 GB. People who are subscribed
     to several mailing lists can easily have archives of 10 GB, which are
     completely unprocessable on a 4 GB machine if you don't free some of
     the allocated memory.

It boils down to having a boolean attribute in the customization GUI of
a mixedmaildir resource:

   [X] New mail will be delivered in this directory hierarchy.
   [ ] No new mail is delivered here. This is more an archive.

Currently the customization dialog for this kind of resource (in the KMail
settings, or in the KDE control center) only contains the path and a
"read-only" attribute. The dialog could easily be extended to have a
"new mail is delivered here" boolean attribute.

Bruno

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list