Some messages are missing and reconstruct doesn't help

Bron Gondwana brong at fastmail.fm
Sat Aug 25 02:56:55 EDT 2012


On Sat, Aug 25, 2012, at 07:28 AM, Geoff Adams wrote:
> On Aug 24, 2012, at 3:22 PM, Geoff Adams wrote:
> 
> > * 3743 EXISTS
> 
> I think I may have solved the problem. I created a new mailbox for the user, used an IMAP client to copy the original 3743 messages into that mailbox, and then used a one-line shell script to convert the newer messages into mbox format, imported that into the mail client, and then copied those messages into the new mailbox via IMAP, as well.
> 
> I had to go through mbox format because I couldn't figure out a way to have reconstruct use the message file timestamps for the internaldate; all the new messages were timestamped as the moment I did the reconstruct. Am I missing something, here? That seems like an obvious and trivial feature.

On 2.4.x it should be using the timestamp of the message file.

Actually, if you enable internaldate_heuristic in imapd.conf, it will use the
date of the most recent "Received" header instead, which is generally really
good, since it gets created by Cyrus during the LMTP delivery.  Just not so
handy for Sent mail...

> I then swapped the new mailbox in as the inbox, and reconstructed, to make sure the mailbox uids are in sync. So far, so good. New messages are delivered, and actually show up in the IMAP client. As do all 3836 messages, including the ones both before and after the upgrade.
> 
> But I'm still curious what corrupt state that mailbox was in, and how it got there. It seems related to the 2.3.x -> 2.4.x upgrade, since that's the line beyond which new messages disappear.

Me too.  There wasn't anything from the cyrus.index files to suggest corruption.

Bron.
-- 
  Bron Gondwana
  brong at fastmail.fm



More information about the Info-cyrus mailing list