[Dovecot] deliver doesn't update cache index with mbox
Gerhard Wiesinger
lists at wiesinger.com
Thu Aug 30 21:34:36 EEST 2012
Hello Timo,
I'm having a problem with mbox that opening folder is slow when new
mails are delivered to a folder. I'm delivering through the deliver
program. Deliver updates index files but IHMO not completely correct.
Therefore I compared index files before and after:
1.) Just delivered
2.) After accessing through imap via Thunderbird
diff looks like (stripped down to the relevant things):
INDEX:
-first recent uid ......... = 25847
+first recent uid ......... = 25848
-log file tail offset ..... = 16468
-log file head offset ..... = 16468
+log file tail offset ..... = 16828
+log file head offset ..... = 16828
- - sync_mtime . = 2012-08-30 19:38:05
+ - sync_mtime . = 2012-08-30 20:09:23
- - dirty_flag . = 1
+ - dirty_flag . = 0
- - highest_modseq = 11162
+ - highest_modseq = 11163
- - log_offset ... = 16468
+ - log_offset ... = 16828
CACHE:
-used_file_size ....... = 6385696
+used_file_size ....... = 6392132
RECORD: seq=25663, uid=25835, flags=0x00
- - ext 0 keywords : (0000)
- - ext 1 modseq : 11156 (942b000000000000)
+ - ext 0 keywords : (0100)
+ - ext 1 modseq : 11163 (9b2b000000000000)
- ext 2 mbox : 42923286 (16f58e0200000000)
- - ext 3 cache : 0 (00000000)
+ - ext 3 cache : 6385696 (20706100)
- ext 4 header-md5: (00000000000000000000000000000000)
+ - cache offset=6385696 size=488, prev_offset = 0
+ - hdr.BCC:
+ - hdr.CC:
+ - hdr.CONTENT-TYPE: 18: Content-Type: text/plain; charset=us-ascii
+ - hdr.DATE: 13: Date: Thu, 30 Aug 2012 19:37:24 +0200
<some other hdr.xxxxx lines removed>
+ - size.virtual: 1081 (3904000000000000)
Same patterns from record: 25664-25675
What does dirty_flag=1 mean?
Why are the cache headers missing and not written by deliver?
Any ideas?
Config is below.
Thank you.
Ciao,
Gerhard
# 2.1.9: /etc/dovecot/dovecot.conf
# OS: Linux
listen = *
mail_full_filesystem_access = yes
mail_location = mbox:~:INBOX=/var/mail/%u
mbox_lazy_writes = no
mbox_write_locks = fcntl
passdb {
driver = pam
}
postmaster_address = postmaster at domain
protocols = imap
service auth {
unix_listener auth-userdb {
group = users
mode = 0660
}
}
service imap-login {
inet_listener imap {
port = 0
}
}
service imap {
executable = imap postlogin
}
service postlogin {
executable = script-login -d rawlog
}
ssl_cert = </etc/pki/dovecot/dovecot-extern.pem
ssl_key = </etc/pki/dovecot/private/dovecot-extern.pem
userdb {
driver = passwd
}
protocol imap {
imap_client_workarounds = tb-extra-mailbox-sep
}
protocol lda {
lda_mailbox_autocreate = yes
log_timestamp = %Y.%m.%d %H:%M:%S%t
mail_debug = yes
mail_location = mbox:~/Mail:INBOX=/var/mail/%u
}
More information about the dovecot
mailing list