mdbox / selecting folder accesses hundrets of others

Florian Lohoff f at zz.de
Fri May 7 19:15:55 EEST 2021


Dovecot: 2.3.4 

Hi,
i am debugging a problem where after a force-resync removed all cache
files (All files are 44 byte). Trying to open a folder takes literally minutes
(Huge mailbox - 220K folder, 45GByte compressed storage)

After i straced the imap process i can see the imap process accesses
hundrets of other completely unrelated folders:

Thats from the logfile - You can see mutt selecting the mailbox "zzzzzzt":

May 07 18:05:19 imap(inbox at wasteland)<20381><hlkrmL/B5qwgAwDvnxMdAGcc/5MSpYxQ>: Debug: fts: No fts setting - plugin disabled
May 07 18:05:19 imap(inbox at wasteland)<20381><hlkrmL/B5qwgAwDvnxMdAGcc/5MSpYxQ>: Debug: quota: quota_over_flag check: quota_over_script unset - skipping
May 07 18:05:19 imap(inbox at wasteland)<20381><hlkrmL/B5qwgAwDvnxMdAGcc/5MSpYxQ>: Debug: Mailbox zzzzzzt: Mailbox opened because: SELECT

From strace -p 20381 - This goes on for minutes opening thousands of unrelated folders. It is noteworthy
that it mostly opens nested folders which are rare here:

[...]
open("/var/vmail/wasteland/inbox/mdbox/mailboxes/gerries/are/hawt", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 15
fstat(15, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getdents(15, /* 3 entries */, 32768)    = 72
stat("/var/vmail/wasteland/inbox/mdbox/mailboxes/gerries/are/hawt/yeah", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
stat("/var/vmail/wasteland/inbox/mdbox/mailboxes/gerries/are/hawt/yeah/dbox-Mails", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getdents(15, /* 0 entries */, 32768)    = 0
close(15)                               = 0
open("/var/vmail/wasteland/inbox/mdbox/mailboxes/karl588594", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 15
fstat(15, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getdents(15, /* 3 entries */, 32768)    = 80
stat("/var/vmail/wasteland/inbox/mdbox/mailboxes/karl588594/b3914", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
stat("/var/vmail/wasteland/inbox/mdbox/mailboxes/karl588594/b3914/dbox-Mails", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getdents(15, /* 0 entries */, 32768)    = 0
close(15)                               = 0
open("/var/vmail/wasteland/inbox/mdbox/mailboxes/ben", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 15
fstat(15, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getdents(15, /* 4 entries */, 32768)    = 104
stat("/var/vmail/wasteland/inbox/mdbox/mailboxes/ben/gang", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
stat("/var/vmail/wasteland/inbox/mdbox/mailboxes/ben/gang/dbox-Mails", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0

Reopening the same folder again is quick and seamless. So it seems this is some
cache recreation code looking into other folders.

I am bit puzzled on why it does this. mail_debug=yes did now show anything.
Any more debug options for mdbox i might set to find out about its decisions?

Flo
-- 
Florian Lohoff                                                     f at zz.de
  Any sufficiently advanced technology is indistinguishable from magic.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://dovecot.org/pipermail/dovecot/attachments/20210507/a2bc654a/attachment.sig>


More information about the dovecot mailing list