Problems with mupdate server.
carol.tardif at lqt.ca
Thu May 19 16:24:25 EDT 2005
João Assad wrote:
> Carol Tardif wrote:
>> We are using Cyrus-2.2.10 in a Murder environnement with two
>> backend +200K mailboxes each. Since our upgrade from Red Hat 7.3
>> to RHEL 3.0 AS we get this error:
>> May 19 13:56:07 mupdate mupdate: DBERROR: skiplist recovery
>> /var/imap/mailboxes.db: 45DF894 should be ADD or DELETE
>> May 19 13:56:07 mupdate mupdate: DBERROR: error updating
>> database user.test1234.sbb: cyrusdb error
> check if you can find an IOERROR before this DBERROR, could be anywhere
> from 1 hour before it to days before it.
> It should be an IOERROR complaining that cyrus cant mmap the mailboxes
On the mupdate server I don't have any IOERROR. But on backends I have rare
lines like this:
May 18 00:49:53 backend2 imap: IOERROR: reading message: unexpected end of file
>> Since then our backends seems to have trouble to update their mailbox
>> Because some users can't see some of their mailbox.
>> With a ctl_mboxlist -d -f /var/imap/mailboxes we see the mailbox on
>> the backend
>> but not on the mupdate with the same command.
>> First we restarted cyrus on both backend to make the backend execute
>> the command
>> ctl_mboxlist -m. I'm not sure about running the command while cyrus is
>> Then everything is ok. But after some user creation the problem is back.
>> I don't wan't to delete the mupdate mailbox.db because I know it's
>> gonna take aroung 8 hours.
>> Is it normal while cyrus on backends is running that when we do a
>> ctl_mboxlist -mw we get output? Aren't the backend supposed the be
>> always up
>> to date?
>> First I would like to correct the DBERROR, then I would like to
>> understand why
>> this append.
> If you dont have a healthy backup of your master mailboxdb, you will
> have to stop cyrus master, delete the mailboxes file, start cyrus master
> and run ctl_mboxlist -m on the backends to resync everything.
> I belive you are having the same problem I had some time ago,
> Fedora/RHEL mmap seems to be broken somehow. I have a fix you can use,
> but only if you are really having the IOERROR I asked for you to check.
One thing I would like to know is instead of synchronising everything can I:
1- delete mailboxe.db on mupdate.
2- do "ctl_mboxlist -d -f /var/imap/mailboxes.db > mailbox_backend1.txt"
on both backends
3- Then on the mupdate import mailbox via:
ctl_mboxlist -u -f /var/imap/mailboxes.db < mailbox_backend1.txt
ctl_mboxlist -u -f /var/imap/mailboxes.db < mailbox_backend2.txt
Is this gonna work? Or I am forced to have a big downtime waiting for "ctl_mboxlist -m"
on both backends.
One more thing on my frontends I have lines like this:
May 19 15:30:41 frontend3 imap: kick_mupdate: can't connect to target: Connection refused
May 19 15:30:41 frontend3 mupdate: accepted connection
May 19 15:31:19 frontend3 imaps: kick_mupdate: can't connect to target: Connection refused
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
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