lazy_expunge doesn't work since upgrade 2.2.30 to 2.2.32
Hi,
it seams that the lazy_expunge plugin doesn't work for me after the upgrade...
2.2.32 cry's about
plugin { lazy_expunge_only_last_instance=no } is most likely handled as 'yes' - remove the setting completely to disable it. If this is intentional, add quotes around the value: lazy_expunge_only_last_instance="no"
I changed it to lazy_expunge_only_last_instance="no" and tried to remove it but doesn't change the problem.
dovecot -n
# 2.2.devel (5af0c9f): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.devel (6c95b56) # OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.9 auth_cache_negative_ttl = 1 secs auth_cache_size = 10 M auth_cache_ttl = 1 secs auth_mechanisms = PLAIN LOGIN DIGEST-MD5 SCRAM-SHA-1 CRAM-MD5 APOP auth_verbose = yes default_client_limit = 600 default_vsz_limit = 512 M dict { lastlogin = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext sqlacl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext } disable_plaintext_auth = no first_valid_gid = 1001 first_valid_uid = 1001 hostname = mailstore1@itronic.at imap_hibernate_timeout = 1 mins imap_id_log = * imap_id_send = * imap_idle_notify_interval = 10 mins imap_logout_format = bytes=%i/%o instance_name = mailstore1 last_valid_gid = 1001 last_valid_uid = 1001 lda_original_recipient_header = X-LDA-Original-To lmtp_rcpt_check_quota = yes login_greeting = ITronic Mail Store login_trusted_networks = x.y.z.0/24 mail_attachment_dir = /srv/storage1/vmail_sis mail_attachment_hash = %{sha512} mail_attachment_min_size = 64 k mail_cache_min_mail_count = 5 mail_gid = vmail mail_location = mdbox:~/mdbox mail_plugins = zlib lazy_expunge stats acl quota mail_log notify mail_prefetch_count = 100 mail_server_admin = mailto:postmaster@itronic.at mail_server_comment = ITronic Mail System mail_shared_explicit_inbox = yes mail_uid = vmail mailbox_list_index = yes managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext vacation-seconds mdbox_preallocate_space = yes namespace { hidden = yes list = no location = mdbox:~/mdbox:MAILBOXDIR=expunged prefix = "#EXPUNGED/" subscriptions = no type = private } namespace { list = children location = mdbox:%%h/mdbox prefix = "#Users/%%u/" separator = / subscriptions = yes type = shared } namespace inbox { hidden = no inbox = yes location = mailbox Archvie { special_use = \Archive } mailbox Drafts { special_use = \Drafts } mailbox Sent { special_use = \Sent } mailbox Spam { special_use = \Junk } mailbox Trash { special_use = \Trash } prefix = separator = / subscriptions = yes type = private } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { acl = vfile acl_shared_dict = proxy::sqlacl last_login_dict = proxy::lastlogin last_login_key = last-login/%u lazy_expunge = "#EXPUNGED/" mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change save mailbox_create mail_log_fields = uid box msgid size flags vsize from subject quota = dict:User quota::proxy::sqlquota quota_grace = 10%% quota_rule = *:storage=1024M quota_rule2 = "#EXPUNGED:storage=+1024M" quota_warning = storage=100%% quota-warning 100 %u quota_warning2 = storage=95%% quota-warning 95 %u quota_warning3 = storage=80%% quota-warning 80 %u recipient_delimiter = + sieve = file:~/sieve;active=~/.dovecot.sieve sieve_extensions = +vacation-seconds sieve_global = /etc/dovecot/sieve sieve_max_actions = 64 sieve_max_redirects = 8 sieve_max_script_size = 2M sieve_quota_max_scripts = 0 sieve_quota_max_storage = 64M sieve_vacation_default_period = 1d sieve_vacation_min_period = 1h stats_refresh = 30 secs stats_track_cmds = yes zlib_save = gz zlib_save_level = 6 } pop3_uidl_duplicates = rename protocols = imap lmtp sieve pop3 service auth-worker { user = $default_internal_user } service auth { inet_listener { port = 4180 } unix_listener auth-userdb { mode = 0666 } } service dict { unix_listener dict { group = vmail mode = 0666 } } service imap-hibernate { unix_listener imap-hibernate { group = vmail mode = 0666 } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } process_min_avail = 1 service_count = 0 } service imap { process_limit = 1024 unix_listener imap-master { user = dovecot } unix_listener imap { group = vmail mode = 0666 } vsz_limit = 512 M } service lmtp { inet_listener lmtp { address = x.y.z.b port = 24000 } unix_listener lmtp { mode = 0666 } } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { process_limit = 50 } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } process_min_avail = 20 service_count = 1 vsz_limit = 64 M } service pop3 { process_limit = 1024 } service quota-warning { executable = script /opt/scripts/quota-warning.sh unix_listener quota-warning { user = vmail } user = dovecot } service stats { fifo_listener stats-mail { mode = 0600 user = vmail } } shutdown_clients = no ssl_cert =
regards
-- Harald Leithner
ITronic Wiedner Hauptstraße 120/5.1, 1050 Wien, Austria Tel: +43-1-545 0 604 Mobil: +43-699-123 78 4 78 Mail: leithner@itronic.at | itronic.at
Hi!
On 04.09.2017 14:38, Harald Leithner wrote:
Hi,
it seams that the lazy_expunge plugin doesn't work for me after the upgrade...
2.2.32 cry's about
plugin { lazy_expunge_only_last_instance=no } is most likely handled as 'yes' - remove the setting completely to disable it. If this is intentional, add quotes around the value: lazy_expunge_only_last_instance="no"
I changed it to lazy_expunge_only_last_instance="no" and tried to remove it but doesn't change the problem.
This is a warning that you should just ignore. This warning will go away in v2.3 once we are properly parsing the values.
Aki
Ok thx for the info, anyway there are no mail copied to #EXPUNGED/ namespace.
Am 04.09.2017 um 13:40 schrieb Aki Tuomi:
Hi!
On 04.09.2017 14:38, Harald Leithner wrote:
Hi,
it seams that the lazy_expunge plugin doesn't work for me after the upgrade...
2.2.32 cry's about
plugin { lazy_expunge_only_last_instance=no } is most likely handled as 'yes' - remove the setting completely to disable it. If this is intentional, add quotes around the value: lazy_expunge_only_last_instance="no"
I changed it to lazy_expunge_only_last_instance="no" and tried to remove it but doesn't change the problem.
This is a warning that you should just ignore. This warning will go away in v2.3 once we are properly parsing the values.
Aki
-- Harald Leithner
ITronic Wiedner Hauptstraße 120/5.1, 1050 Wien, Austria Tel: +43-1-545 0 604 Mobil: +43-699-123 78 4 78 Mail: leithner@itronic.at | itronic.at
Any idea why this doesn't setup work anymore in 2.2.32?
thx
Harald
Am 04.09.2017 um 13:52 schrieb Harald Leithner:
Ok thx for the info, anyway there are no mail copied to #EXPUNGED/ namespace.
Am 04.09.2017 um 13:40 schrieb Aki Tuomi:
Hi!
On 04.09.2017 14:38, Harald Leithner wrote:
Hi,
it seams that the lazy_expunge plugin doesn't work for me after the upgrade...
2.2.32 cry's about
plugin { lazy_expunge_only_last_instance=no } is most likely handled as 'yes' - remove the setting completely to disable it. If this is intentional, add quotes around the value: lazy_expunge_only_last_instance="no"
I changed it to lazy_expunge_only_last_instance="no" and tried to remove it but doesn't change the problem.
This is a warning that you should just ignore. This warning will go away in v2.3 once we are properly parsing the values.
Aki
-- Harald Leithner
ITronic Wiedner Hauptstraße 120/5.1, 1050 Wien, Austria Tel: +43-1-545 0 604 Mobil: +43-699-123 78 4 78 Mail: leithner@itronic.at | itronic.at
On Wed, Sep 6, 2017 at 2:01 AM, Harald Leithner leithner@itronic.at wrote:
Any idea why this doesn't setup work anymore in 2.2.32?
thx
Harald
I just ran into the same thing myself. For me, when I added this to the "location" in the expunged namespace, it started working again:
...:LISTINDEX=expunged.list.index
I can't tell you why exactly (presumably has something to do with "mailbox_list_index = yes"). Perhaps the devs might know?
Am 2017-09-15 21:25, schrieb Mark Moseley:
On Wed, Sep 6, 2017 at 2:01 AM, Harald Leithner leithner@itronic.at wrote:
Any idea why this doesn't setup work anymore in 2.2.32?
thx
Harald
I just ran into the same thing myself. For me, when I added this to the "location" in the expunged namespace, it started working again:
...:LISTINDEX=expunged.list.index
I can't tell you why exactly (presumably has something to do with "mailbox_list_index = yes"). Perhaps the devs might know?
Thx, this seams to fixed the problem.
On Fri, Sep 15, 2017 at 1:42 PM, Harald Leithner leithner@itronic.at wrote:
Am 2017-09-15 21:25, schrieb Mark Moseley:
On Wed, Sep 6, 2017 at 2:01 AM, Harald Leithner leithner@itronic.at wrote:
Any idea why this doesn't setup work anymore in 2.2.32?
thx
Harald
I just ran into the same thing myself. For me, when I added this to the "location" in the expunged namespace, it started working again:
...:LISTINDEX=expunged.list.index
I can't tell you why exactly (presumably has something to do with "mailbox_list_index = yes"). Perhaps the devs might know?
Thx, this seams to fixed the problem.
Dovecot guys, any idea why this was the case? I just want to understand why so I can keep an out eye during future upgrades.
On 18 Sep 2017, at 21.19, Mark Moseley moseleymark@gmail.com wrote:
I just ran into the same thing myself. For me, when I added this to the "location" in the expunged namespace, it started working again:
...:LISTINDEX=expunged.list.index
I can't tell you why exactly (presumably has something to do with "mailbox_list_index = yes"). Perhaps the devs might know?
Thx, this seams to fixed the problem.
Dovecot guys, any idea why this was the case? I just want to understand why so I can keep an out eye during future upgrades.
I'm not able to reproduce this problem even with your exact configuration. It correctly creates the #EXPUNGED/INBOX when I expunge the first mail there. Same with other folders. And it keeps moving mails there correctly as well. So it would have been useful to have some logs about when expunging was done, ideally with mail_debug=yes. And was it really that it didn't move any mails to the expunged namespace, or just that the folders there weren't visible?
The configuration anyway wasn't working so well. Your INBOX namespace and expunged namespace were both sharing the same dovecot.list.index file, which meant that whenever one of those namespaces were accessed it cleared the other one's contents in the index. So the performance was probably worse than it would have been with mailbox_list_index=no. I think I'll add some check for this so it becomes a clear error, instead of silently inefficient behavior.
participants (4)
-
Aki Tuomi
-
Harald Leithner
-
Mark Moseley
-
Timo Sirainen