[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