[Dovecot] mdbox expunge purge question

Brandon Lamb brandonlamb at gmail.com
Sat Jul 17 20:55:52 EEST 2010

On Sat, Jul 17, 2010 at 6:29 AM, Daniel Luttermann <daniel at dlutt.de> wrote:
> Hi,
> I'm testing Dovecot 2.0rc2 with mdbox mail format and I'm not sure
> what this exactly means:
> http://wiki2.dovecot.org/MailboxFormat/dbox
> Quote from wiki page:
> =====
> Expunging a message only decreases the message's refcount. The space
> is later freed in "purge" step. This may be done automatically within
> the session or later in a nightly cronjob when there's less disk I/O.
> =====
> So this means that even if a user deletes a mail the space gets only
> freed if I run "doveadm purge" manually or an user requests this over
> his mail client?
> When the expunge plugin is used the deleted mails are stored in a
> special mailbox in the users mailbox so it's needed to use the expire
> plugin too if this should be done automatically?
> Is it recommend to run "doveadm purge" periodically if mdbox is used?
> Btw: when I try to run
> doveadm -Dv expunge -u testuser at dlutt.de mailbox Trash savedbefore 30d
> for example I get such an error:
> doveadm(root): Debug: Loading modules from directory: /usr/lib/dovecot/modules
> doveadm(root): Debug: Module loaded: /usr/lib/dovecot/modules/lib01_acl_plugin.so
> doveadm(root): Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
> doveadm(root): Error: dlopen(/usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so) failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: undefined symbol: expire_set_lookup
> doveadm(root): Error: dlopen(/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so) failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined symbol: quota_user_module
> Plugin expire or expunge is not currently enabled in Dovecot's config.
> Thanks for any hints.
> Daniel

I was curious about that as well but had already posted a million
questions yesterday =P

What is the default mailbox file size (the m* files?), what actually
happens when a message is delivered, when is a new file created, when
a user deletes a single mail what happens, or if they delete multiple
mails, if a users client does the move to trash then mark as deleted
then purge, what happens inside? There was mention of no file
truncating, so does that mean if a user deletes mails, and they are in
3 different mail storage files, that those messages are written to 3
new (or existing with free space?) mail storage files and the old ones
just sit around using space?

And if you never run a purge or expunge script, will your data store
just keep growing, is there no self cleanup? With maildir, you delete
a message and the file goes away.

I guess if someone had time to write a slightly more detailed
explanation of how mdbox works than what is on the wiki that would be
cool. Also maybe a "if you run mdbox, you are going to want to know
this and that, and do this and this and this"

More information about the dovecot mailing list