Expunged emails after upgrade from 2.3.16 to 2.4.5

Bron Gondwana brong at fastmail.fm
Sun Dec 5 17:21:10 EST 2010


On Mon, Dec 06, 2010 at 08:22:57AM +1030, Stephen Carr wrote:
> After fixing sync problems with the help of Bron this morning I
> discovered that ant email older that 150 days has been expunged.
> What alerted me was the size of the Full backup done one day after
> the upgrade.

"ant email" - do you mean "any email"?
 
> Here is part of the log
> 
> Dec  5 04:00:02 brooks cyr_expire[23141]: Expunged 0 out of 208877
> messages from 1453 mailboxes

No messages expired.
 
> Dec  5 21:00:00 brooks ipurge[4410]: Expunged 2 messages from
> user.user1.Trash
> Dec  5 21:00:00 brooks ipurge[4410]: Expunged 1 messages from
> user.user2.Trash
> Dec  5 21:00:01 brooks ipurge[4410]: Expunged 25 messages from
> user.user3.Trash
> ...
> Dec  6 03:00:00 brooks ipurge[18145]: Expunged 1 messages from
> user.user4.quarantine
> Dec  6 03:00:00 brooks ipurge[18145]: Expunged 5 messages from
> user.user5.quarantine
> ....
> Dec  6 04:00:00 brooks ipurge[20370]: Expunged 95 messages from
> user.support.Bacula

Lots of messages cleaned up by ipurge.

> Dec  6 04:00:02 brooks cyr_expire[20368]: Expunged 0 out of 113053
> messages from 1453 mailboxes

Still no messages expired.

> Notice the 208877 is now 113053 and I suspect it now more like 77000
> since it is 2 days after the upgrade.
> 
> Is there a default Expunge ?

It's looking to me more like ipurge used to be broken, and now it's
working!

> expunge_mode: immediate
> delete_mode: immediate

I strongly recommend removing the "expunge_mode: immediate" and either
setting it explicitly to "expunge_mode: default" or even just not
specifying it.  "expunge_mode: immediate" doesn't work nicely with
replication - you wind up having to run inefficient sync all the time
because it cleaned out the expunge information too quickly.

> sync_password: 30cyrus51

In general I wouldn't recommend posting this bit to a public
mailing list...

>   # this is only necessary if using duplicate delivery suppression,
>   # Sieve or NNTP
>   delprune      cmd="cyr_expire -E 3" at=0400

You don't have any "-X" in there, which means that delayed expunge
will be running immediately for all mailboxes.  Again, -X 1 along
with the expunge_mode changes above will make your replication
experience nicer.
 
>   trashprune1	cmd="ipurge -f -d 21 user.%.Trash" at=2100
>   trashprune2	cmd="ipurge -f -d 21 user.%.trash" at=2130
> 
>   # Purge quarantine mailboxes older than 14 days at 3 am
>   purgespam	cmd="ipurge -f -d 14 user.%.quarantine" at=0300
>   purgespam2	cmd="ipurge -f -d 2 user.%.spam" at=0330
>   purgebacula	cmd="ipurge -f -d 28 user.support.Bacula" at=0400

Yeah, it's those ipurge commands that are doing it.  I suspect
there used to be bugs in ipurge with immediate expunge, and
you just didn't notice that it wasn't actually being cleaned up
because you didn't have a -X specified in you cyr_expire...

Bron.


More information about the Info-cyrus mailing list