reconstruct should not destroy a readable cyrus.expunge.

Paul Turgyan pturgyan at
Tue Aug 8 12:36:47 EDT 2006

I can see where you want reconstruct to correct all problems with a  
but after validating cyrus.expunge why not just let it be,  and let  
cyr_expire handle
the deletion.  This way, as you said, a user can unexpunge those  
messages if he wants.

Half of our support requests are for mailboxes and or messages to be  
after some user deleted their mail.

On Aug 8, 2006, at 11:59 AM, Ken Murchison wrote:

> Paul Turgyan wrote:
>> I'm looking at the code for reconstruct,  and it seems weird to me  
>> that reconstruct,
>> after verifying a "good" cyrus.expunge file,  that it deletes all  
>> the referenced mail
>> files and then deletes the cyrus.expunge file.
>> If the cyrus.expunge file can be read,  shouldn't we just verify  
>> that all the referenced
>> message files are readable,  and then leave cyrus.expunge alone?    
>> Maybe if there
>> are referenced  message files missing or unreadable,  we could  
>> rewrite the
>> cyrus.expunge file removing the missing files.
> Since cyrus.expunge only contained expunged messages, what is the  
> harm in removing them?  This will happen eventually with cyr_expire.
> Is your concern that a user will want to unexpunge the messages in  
> between the time that the mailbox is reconstructed and cyr_expire  
> is run?
> -- 
> Kenneth Murchison
> Systems Programmer
> Project Cyrus Developer/Maintainer
> Carnegie Mellon University

More information about the Cyrus-devel mailing list