It seems you are not using mailbox_list_index=yes, I suspect you want to turn this on. It might help with this problem, too.
Aki
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
Hello, we're using mail on NFS and the indexes on localdisk, with a director setup. (18K+ users) now to get more performance i thought to use the ITERINDEX option. however this has the side-effect on some mailboxes that it doesn't show the subfolders under INBOX.they seem 'disappeared'. Removing the ITERINDEX option fixes this again.
Deleting the local indexes to be recreated doesn't solve the problem.What could cause this? and how to fix it.
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.9.0-11-amd64 x86_64 Debian 9.11
# Hostname: somemail.host.domain
auth_cache_negative_ttl = 0
auth_cache_size = 10 M
auth_cache_ttl = 1 days
auth_username_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@#"
default_client_limit = 1500
default_vsz_limit = 1 G
disable_plaintext_auth = no
info_log_path = /dev/null
listen = *
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_trusted_networks = 10.0.10.0/24
mail_fsync = never
mail_max_userip_connections = 100
mail_prefetch_count = 10
mail_privileged_group = mail
mailbox_list_index_include_inbox = yes
mmap_disable = yes
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix = INBOX.
separator = .
type = private
}
passdb {
args = username_format=%{rip} /etc/dovecot/passdb
default_fields = noauthenticate=y
driver = passwd-file
}
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
plugin {
sieve_execute_bin_dir = /etc/dovecot/sieve-executables
sieve_global_extensions = +vnd.dovecot.execute
sieve_plugins = sieve_extprograms
}
protocols = imap lmtp
service anvil {
unix_listener anvil-auth-penalty {
mode = 0600
}
}
service auth {
user = root
}
service imap-login {
client_limit = 6000
process_limit = 4
process_min_avail = 4
service_count = 0
vsz_limit = 600 M
}
service imap {
client_limit = 1
process_limit = 1024
service_count = 50
}
service lmtp {
inet_listener lmtp {
port = 24
}
}
ssl = no
ssl_cert = </etc/dovecot/dovecot.crt
ssl_key = # hidden, use -P to show it
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
verbose_proctitle = yes
protocol lmtp {
mail_fsync = optimized
mail_plugins = " sieve"
plugin {
sieve = ~/filters.sieve
sieve_after = /etc/dovecot/sieve/after.sieve
sieve_before = /etc/dovecot/sieve/before.sieve
}
userdb {
args = /etc/dovecot/dovecot-sql-lmtp.conf
driver = sql
name =
}
}
dovecot-sql.confdriver = mysql
connect = host=10.0.10.150 dbname=maildb user=mail password=5ecret!
default_pass_scheme = SHA
password_query = select login as user, crypt_sha1 as password, home as userdb_home, uid AS userdb_uid, gid AS userdb_gid, concat('maildir:',maildir,':INDEX=/data/indexes/',login,':ITERINDEX',':VOLATILEDIR=/data/indexes/',login) as userdb_mail from mailbox left join aliases on aliases.systemid = aliasid where login = '%u' and inactive = 0;
user_query = select home, maildir as mail, uid, gid from mailbox left join aliases on aliases.systemid = aliasid where login = '%u' and inactive = 0;
iterate_query = select distinct login as user from mailbox;