Hello,
I tried to upgrade from 2.0.15 to 2.1.rc1 over the weekend but ran into some problems with squat. My two largest mailboxes were corrupted, producing this error:
Nov 27 17:38:12 kerio1 dovecot[42860]: imap(bigmailbox): Error: Corrupted squat uidlist file /var/mail/metro-email.com/bigmailbox/mdbox/mailboxes/INBOX/dbox-Mails/dovecot.index.search.uids: wrong indexid
There is a good chance that I had shot my own foot, by forgetting to update postfix's dovecot-lda reference to the new instance. I had also enabled an inet based LMTP listener, although it is not being used yet.
Even using non-corrupted indexes, it seemed that FTS was not being used. A basic search such as this one took many minutes to complete:
doveadm search -u jsample mailbox INBOX body eps
I found messages like this in mail.log after performing the search:
Nov 27 18:21:39 kerio1 dovecot[42860]: indexer-worker(jsample): Indexed 0 messages in Drafts Nov 27 18:21:39 kerio1 dovecot[42860]: indexer-worker(jsample): Indexed 0 messages in INBOX
When I rolled back to 2.0.15, the same search returned almost immediately. The larger mailboxes went quickly again, but only after they had a chance to rebuild.
A few other notes about our configuration: We are on PPC, with the stats service disabled (because of kqueue issue discussed earlier). I made some minor changes in my config since the previous installed version (diff below). mail_location override is in place for all users via password file, e.g.: userdb_mail=mdbox:/var/mail/metro-email.com/jsample/mdbox
Thanks, Tony
kerio1:~ metroadmin$ /opt/dovecot-2.1.rc1/bin/doveconf -n -c /opt/dovecot-2.1.rc1/etc/dovecot/dovecot.conf
2.1.rc1: /opt/dovecot-2.1.rc1/etc/dovecot/dovecot.conf
OS: Darwin 9.8.0 Power Macintosh
auth_cache_negative_ttl = 0 auth_cache_size = 1 M auth_mechanisms = plain login lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes lmtp_proxy = yes mail_location = maildir:%h mail_plugins = fts fts_squat mail_log notify mail_privileged_group = mail maildir_very_dirty_syncs = yes managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave editheader mdbox_rotate_size = 10 M namespace { inbox = yes location = prefix = separator = / } passdb { args = scheme=CRYPT username_format=%u /opt/dovecot-2.1.rc1/etc/dovecot/users driver = passwd-file } plugin { fts = squat mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid size from subject sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } postmaster_address = postmaster@metro-email.com protocols = imap lmtp service auth { unix_listener /var/spool/postfix/private/auth { group = _postfix mode = 0660 user = _postfix } unix_listener auth-userdb { group = mail mode = 0660 user = metroadmin } } service imap { executable = imap postlogin } service lmtp { inet_listener lmtp { address = 192.168.20.10 127.0.0.1 port = 24 } } service postlogin { executable = script-login rawlog -t } service stats { fifo_listener stats-mail { mode = 00 } } ssl_cert = </opt/local/apache2/conf/ssl_startcom/server.crt ssl_key = </opt/local/apache2/conf/ssl_startcom/server.key userdb { args = username_format=%u /opt/dovecot-2.1.rc1/etc/dovecot/users driver = passwd-file } verbose_proctitle = yes protocol imap { mail_max_userip_connections = 16 }
Here is a diff between the current/working and attempted configs:
kerio1:~ metroadmin$ diff k1.curr k1.new2 1c1 < # 2.0.15: /opt/dovecot-2.0.15/etc/dovecot/dovecot.conf
2.1.rc1: /opt/dovecot-2.1.rc1/etc/dovecot/dovecot.conf
9a10 lmtp_proxy = yes 15c16 < managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave editheader 24c25 < args = scheme=CRYPT username_format=%u /opt/dovecot-2.0.15/etc/dovecot/users
args = scheme=CRYPT username_format=%u /opt/dovecot-2.1.rc1/etc/dovecot/users 50a52,57 service lmtp { inet_listener lmtp { address = 192.168.20.10 127.0.0.1 port = 24 } } 53a61,65 service stats { fifo_listener stats-mail { mode = 00 } } 57c69 < args = username_format=%u /opt/dovecot-2.0.15/etc/dovecot/users
args = username_format=%u /opt/dovecot-2.1.rc1/etc/dovecot/users kerio1:~ metroadmin$