Delayed delete oddities

David Mayo D.J.Mayo at bath.ac.uk
Fri Dec 11 11:22:24 EST 2009


We have just started transferring the first mailboxes onto our new Cyrus 
IMAP 2.3.13 server running on Solaris 10. Delayed expunge seems to work 
fine but I've noticed a strange phenomenon with delayed delete on mailboxes.

We have set up cyrus to delete expunged emails and deleted mailboxes 
after 7 days:

   delprune      cmd="cyr_expire -E 3 -D 7 -X 7" at=0400

It appears to be deleting emails 7 days after they have been expunged, 
so this looks fine:

Dec 11 04:00:00 imap-1.bath.ac.uk cyr_expire[29491]: [ID 956378 
mail.notice] Expunged 4662 messages from DELETED.user.usera.BUCS.IT 
discussion list.4B2123D3
Dec 11 04:00:00 imap-1.bath.ac.uk cyr_expire[29491]: [ID 956378 
mail.notice] Expunged 29 messages from user.xxxxx
Dec 11 04:00:00 imap-1.bath.ac.uk cyr_expire[29491]: [ID 956378 
mail.notice] Expunged 63 messages from user.xxxxx.Trash
Dec 11 04:00:00 imap-1.bath.ac.uk cyr_expire[29491]: [ID 956378 
mail.notice] Expunged 2 messages from user.xxxxx.aa-lists
Dec 11 04:00:00 imap-1.bath.ac.uk cyr_expire[29491]: [ID 956378 
mail.notice] Expunged 26 messages from user.xxxxx.spam
Dec 11 04:00:03 imap-1.bath.ac.uk cyr_expire[29491]: [ID 301543 
mail.info] skiplist: checkpointed /opt/etc/imapd/quotas.db (13 records, 
816 bytes) in 0 seconds
Dec 11 04:00:05 imap-1.bath.ac.uk cyr_expire[29491]: [ID 956378 
mail.notice] Expunged 36 messages from user.usera.spam
Dec 11 04:00:05 imap-1.bath.ac.uk cyr_expire[29491]: [ID 427756 
mail.notice] Expunged 5039 out of 82483 messages from 232 mailboxes
Dec 11 04:00:05 imap-1.bath.ac.uk cyr_expire[29491]: [ID 630590 
mail.notice] Deleted mailbox DELETED.user.xxxxz.Trash.ucu.4B184D30
Dec 11 04:00:05 imap-1.bath.ac.uk cyr_expire[29491]: [ID 857756 
mail.notice] skiplist: unlock while not locked
Dec 11 04:00:05 imap-1.bath.ac.uk cyr_expire[29491]: [ID 489633 
mail.notice] Removed 1 deleted mailbox
Dec 11 04:00:05 imap-1.bath.ac.uk cyr_expire[29491]: [ID 730478 
mail.notice] duplicate_prune: pruning back 3 days
Dec 11 04:00:12 imap-1.bath.ac.uk cyr_expire[29491]: [ID 371192 
mail.notice] duplicate_prune: purged 1659 out of 6999 entries

It's just the first entry I'm concerned by:

Dec 11 04:00:00 imap-1.bath.ac.uk cyr_expire[29491]: [ID 956378 
mail.notice] Expunged 4662 messages from DELETED.user.usera.BUCS.IT 
discussion list.4B2123D3

This mailbox was only deleted yesterday:

Dec 10 16:37:39 sauber.bath.ac.uk imap[11321]: [ID 630590 mail.notice] 
Deleted mailbox user.usera.BUCS.IT discussion list

The mailbox was moved to the right area of the IMAP tree but all the 
messages were removed after just one day. The messages in the mailbox 
were not marked for deletion after being moved. Worse still, it hasn't 
even kept the messages on the filesystem:

imap-1 $ ls -la /mail/02/DELETED/user/usera/BUCS/IT\ discussion\ 
list/4B2123D3/
total 21441
drwx------   2 cyrus    cyrus         12 Dec 11 04:00 .
drwx------   3 cyrus    cyrus          3 Dec 10 16:37 ..
-rw-------   1 cyrus    cyrus      27366 Feb 17  2009 4861.
-rw-------   1 cyrus    cyrus       3151 May 31  2009 5007.
-rw-------   1 cyrus    cyrus       2543 Jun 15 10:04 5025.
-rw-------   1 cyrus    cyrus       2396 Jun 15 11:45 5026.
-rw-------   1 cyrus    cyrus       2366 Jul 29 09:46 5084.
-rw-------   1 cyrus    cyrus          4 Dec 11 04:00 cyrus.cache
-rw-------   1 cyrus    cyrus        536 Dec 10 16:37 cyrus.expunge
-rw-------   1 cyrus    cyrus        175 Dec 10 16:37 cyrus.header
-rw-------   1 cyrus    cyrus         96 Dec 11 04:00 cyrus.index
-rw-------   1 cyrus    cyrus    10734041 Dec 11 02:00 cyrus.squat

(squatter is run at 2am, cyr_expire at 4am, which explains the size of 
cyrus.squat)

There were emails newer and older than those ones there, so I'm not sure 
why those 5 were kept. Running unexpunge on the mailbox resulted in this:

imap-1 $ unexpunge -l "DELETED.user.usera.BUCS.IT discussion list.4B2123D3"
UID: 4861
         Size: 27366
         Sent: Tue Feb 17 12:00:00 2009
         Recv: Tue Feb 17 10:47:12 2009
         Expg: Thu Dec 10 16:37:39 2009
Segmentation Fault (core dumped)

[imap-1][/] # pstack /var/tmp/core.unexpunge
core '/var/tmp/core.unexpunge' of 516:  unexpunge -l 
DELETED.user.usera.BUCS.IT discussion list.4B2123D3
  08058317 list_expunged (8046734, 8134898, 5, fea50000) + 186
  080599df main     (3, 8047a5c, 8047a6c) + 941
  08057f84 _start   (3, 8047b58, 8047b62, 8047b65, 0, 8047b9a) + 80

Is the deleted mailbox code considered reliable? Should we be pruning 
these using a different method? I'm happy to supply more information if 
it would lead to this being better understood and/or fixed.

Regards,


Dave
Networks/Systems Administrator, BUCS



More information about the Info-cyrus mailing list