Upgrade/reconstruct failures [REPOST]

Rob Tanner rtanner+cyrus at linfield.edu
Thu Apr 1 12:23:59 EST 2004


Ken,

Since I'm moving from ESYS to Cyrus, the index/cache files should be 
irrelevant as they use an entirely different naming convention and I fully 
expect to loose the flags in question.  But I tried your suggestion anyway 
without success.  And the problem is not consistent, only affecting maybe one 
third to one half of the mailbox folders.

Also, I can create a new directory under a user and add an empty cyrus.header 
file, and reconstruct -fxr will find the emty file and add it and not declare 
it to have any invalid format.  I can empty out the directory claimed to have 
an invalid format and add an empty cyrus.header, and it still fails. 
Finally, at the unix level, and not with cyradm, I can rename the directory 
of a mailbox, say foo to foo2, create an empty foo so I don't get an I/O 
error, touch foo2/cyrus.header, run reconstruct -fx, and the box gets added 
to the mailboxes database without an error.  Just creating the empty 
cyrus.header file in the old mailbox doesn't fix the problem.

I am convinced the problem is with the mailboxes database, but when I dump it 
to stdout, the entries for mailboxes that reconstruct okay and those that get 
an invalid format error look to be identical.

Is there any way to debug what construct is doing and why it's making the 
decision it's making without having to be an expert on the code?

Thanks,
Rob

--On Thursday, April 01, 2004 07:35:34 AM -0500 Ken Murchison 
<ken at oceana.com> wrote:

> Rob Tanner wrote:
>
>> Hi,
>>
>> I am moving from an old style ESYS (based on a 1.x version of CMU) to
>> the latest and greatest Cyrus 2.2.3 on a new box with a single 140GB
>> mirrored partition to hold all the mail spools.  On the system I'm
>> upgrading from, we had multiple partitions.  Since I am merging the mail
>> into a single partition, I wrote a quick and dirty perl script to
>> replace the various partition declarations in the mailboxes file with
>> the dingle partition, "default".  I took that output and fed it into
>> ctl_mboxlist -u to create the new mailboxes database.
>>
>> However, when I attempt to do a reconstruct -r on a hierarchy of user
>> mailboxes, about half the mailboxes fail with the message: "Mailbox has
>> an invalid format". I can create a new mailbox and then from a unix
>> shell, move all the files into the new box and do a reconstruct on that,
>> and it works fine.  Next I did a ctl_mboxlist -d and compared the entry
>> for a mailbox that failed to reconstruct with one that succeeded, and
>> everything looks the way I expect it to.
>>
>> Any ideas as to what might be wrong will be most appreciated.
>
> My guess is that the index/cache upgrade code doesn't like the old files.
> You could try removing the cyrus.* files in one of these mailboxes and then
> run reconstruct.  The only downside to this is that you will lose any flags
> (other than \Seen) that were set on the message.
>
>
> --
> Kenneth Murchison     Oceana Matrix Ltd.
> Software Engineer     21 Princeton Place
> 716-662-8973 x26      Orchard Park, NY 14127
> --PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp
> ---
> Home Page: http://asg.web.cmu.edu/cyrus
> Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>




Rob Tanner
Linfield College
McMinnville, Oregon
rtanner+cyrus at linfield.edu
---
Home Page: http://asg.web.cmu.edu/cyrus
Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list