On Thu, 2010-10-28 at 21:33 -0700, Kui Zhang wrote:
doveadm(user@domain): Debug: expunge: box=.EXPUNGED/INBOX/mon uid=791 doveadm(user@domain): Info: expunge: box=INBOX/mon, uid=196,
Thanks for the info. So is info message showing the wrong mailbox or is it deleting from the wrong mailbox?
Oh, that's a bug in mail-log plugin. Fixed: http://hg.dovecot.org/dovecot-2.0/rev/4ee632794f0b
Let me rephrase that. Some users are using maildir. and more than one of such users with 30-40Gb of emails, approx 100-800k/message. approx 85899345 messages. 20-50 mailboxes under each user. And messages get deleted often.
When expunging, lazy expunged, messages from such mailboxes, individually at separate time. Would not it be faster/safer reading from expire database compare to enumerate everything?
Currently the expire database is used to only filter out users who don't have anything to expunge. Some day in future it will filter out also mailboxes that don't have anything. So if your total number of mailboxes isn't very high, it's not very helpful.
But, now that you mentioned it, doing a "savedbefore 7d" search would go through all the messages from the beginning of the mailbox rather than from the end or doing a binary search. Maybe that should be optimized..
I was hoping to setup a script to expunge, lazy expunged, messages from each user, at diff intervals, based predetermined rate of delete.
If you just call doveadm expunge separately for each user, that would work.