From: Michael Welsh Duggan <mwd@md5i.com>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: Michael Welsh Duggan <mwd@md5i.com>, 56332@debbugs.gnu.org
Subject: bug#56332: 29.0.50; Large gnus imap groups; articles incorrectly marked as read (old)
Date: Sat, 02 Jul 2022 12:00:30 -0400 [thread overview]
Message-ID: <87ilof4i8x.fsf@md5i.com> (raw)
In-Reply-To: <87r133zgfu.fsf@gnus.org> (Lars Ingebrigtsen's message of "Sat, 02 Jul 2022 17:23:49 +0200")
Lars Ingebrigtsen <larsi@gnus.org> writes:
> Michael Welsh Duggan <mwd@md5i.com> writes:
>
>> 2) When the problem happens, it seems to happen because the order of the
>> fetch responses do not appear in the order of the fetches themselves.
>
> Oh, that's interesting. IMAP is a streaming protocol, so if you send
> two commands after one another, you should first get the responses from
> the first, and then from the last. It sounds like UID FETCH doesn't
> respect that?
>
> In which case the simple solution would be to wait until the first
> command has ended before issuing a new one, but that would make things a
> bit slower (depending on the latency of the connection).
>
> Hm... OK, I've tried this myself now, and I can definitely see
> something odd here. I don't see shuffled headers, but I see
>
> OUTPUT FROM FIRST
> OUTPUT FROM SECOND
> 26166 OK Fetch completed (0.002 + 0.000 + 0.001 secs).
> 26167 OK Fetch completed (0.002 + 0.000 + 0.001 secs).
>
> So that seems to support this -- UID FETCH is not really streamable (at
> least not with this IMAP server). I'm using Dovecot -- are you using
> the same?
I am using Dovecot. I am betting that the only reason I am seeing
shuffled headers is due to the larger group, and maybe due to the
sparsity of the UIDs. More fetches grant more opportunity for random
re-ordering.
I will also note that, though the fetch data responses are not in order,
the fetch completion messages are in order. Though I'm not certain they
have to be. Here's some data from the Internet, though I can't find
anything in the standard that seems to either confirm or refute this
data:
https://stackoverflow.com/questions/26034086/does-imap-guarantee-that-servers-send-responses-in-order
Wouldn't another solution be to sort the results by UID? They are being
requested in UID order, after all.
--
Michael Welsh Duggan
(md5i@md5i.com)
next prev parent reply other threads:[~2022-07-02 16:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-01 6:47 bug#56332: 29.0.50; Large gnus imap groups; articles incorrectly marked as read (old) Michael Welsh Duggan
2022-07-01 9:36 ` Lars Ingebrigtsen
2022-07-01 9:50 ` Lars Ingebrigtsen
2022-07-01 15:54 ` Michael Welsh Duggan
2022-07-01 15:56 ` Michael Welsh Duggan
2022-07-02 12:00 ` Lars Ingebrigtsen
2022-07-02 14:30 ` Michael Welsh Duggan
2022-07-02 15:23 ` Lars Ingebrigtsen
2022-07-02 16:00 ` Michael Welsh Duggan [this message]
2022-07-02 16:40 ` Michael Welsh Duggan
2022-07-03 10:59 ` Lars Ingebrigtsen
2022-07-03 14:50 ` Michael Welsh Duggan
2022-07-04 10:49 ` Lars Ingebrigtsen
2022-07-01 15:56 ` Michael Welsh Duggan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ilof4i8x.fsf@md5i.com \
--to=mwd@md5i.com \
--cc=56332@debbugs.gnu.org \
--cc=larsi@gnus.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.