ITERINDEX not showing subfolders.
# 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.conf driver = 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;
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
On 8.10.2019 8.09, Erik de Waard via dovecot wrote:
# 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 <http://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.conf driver = 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;
participants (2)
-
Aki Tuomi
-
Erik de Waard