Delayed flags changes over IDLE
Kostya Vasilyev
kman at fastmail.com
Wed Mar 13 08:36:19 EET 2019
Timo,
On Wed, Mar 13, 2019, at 12:39 AM, Timo Sirainen wrote:
> On 12 Mar 2019, at 10.21, Kostya Vasilyev via dovecot <dovecot at dovecot.org> wrote:
>>
>> It makes no difference if the IDLE connection does SELECT or SELECT (CONDSTORE) prior to going IDLE.
>>
>> But then as far as I know (?) - in Dovecot, once any connection uses CONDSTORE ever, even once, Dovecot creates data structures to track MODSEQ values, and those data structures are forever.
> So are you saying that you can reproduce if you do for a completely new user:
>
> doveadm exec imap -u testuser1
> a select inbox
> b idle
>
> And then run:
> echo foo | doveadm save -u testuser1
> doveadm flags add -u testuser1 '\Seen' mailbox inbox 1
>
> And the EXISTS shows up immediately after saving, but the flag change won't show up? It works fine with me.
>
> Do you see any errors in "doveadm log errors"? Can you reproduce this if you try with some other mailbox format than mbox?
>
1 - Yes I was able to reproduce with a completely new user.
I didn't use your doveadm commands above, but created a new Linux user in group mail, set a password in /etc/dovecot/users, and sent a few emails to that user from another mail account / web mail. My SMTP server is Postfix.
Then I used my IDLE client code (which does SELECT CONDSTORE) and a separate netcat connection to make flags changes.
Same thing as before: 1) no flags changes flushed to IDLE 2) until the other connection (which changed flags) does a SELECT.
The only difference from before - it was enough for netcat to do plain SELECT (i.e. SELECT CONDSTORE was not necessary).
I also tried a netcat connection instead of "my IDLE client" and did plain SELECT before going IDLE (i.e. SELECT without CONDSTORE). Same thing: 1) delay 2) flags changes are flushed after the other connection does SELECT.
2 - I switched to Maildir last night - and the problem stopped for same old existing user.
So it looks triggered by a combination of mbox + SELECT (CONDSTORE)?
3 - No errors in doveadm log errors
4 - /var/log/mail.err has this
Mar 13 09:21:17 kman dovecot: auth: Error: Master requested auth for nonexistent client 29548 (created 0 msecs ago, handshake 0 msecs ago)
Mar 13 09:21:18 kman dovecot: imap-login: Error: net_connect_unix(/var/run/dovecot/stats-writer) failed: No such file or directory
Probably means nothing - I tried to log in with IMAP before remembering to add my new user to /etc/dovecot/users
-- K
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20190313/cb926c5e/attachment-0001.html>
More information about the dovecot
mailing list