Gnus development mailing list
 help / color / mirror / Atom feed
From: Simon Josefsson <simon@josefsson.org>
To: ding@gnus.org
Subject: nnimap issues
Date: Sun, 26 Sep 2010 12:55:49 +0200	[thread overview]
Message-ID: <878w2olqoa.fsf@mocca.josefsson.org> (raw)

Hi!  I just downloaded the latest Gnus and it found the new nnimap stuff
(thanks for working on that!) and I noticed some issues:

1) Getting new mail is really really slow!  Looking at *imap-log*
explains why, there are tons of commands like this:

...
09:27:32 1706 EXAMINE "INBOX.grisslan"
09:27:32 1707 UID FETCH 1:* FLAGS
09:27:32 1708 EXAMINE "INBOX.mail-bounce"
09:27:32 1709 UID FETCH 1935:* FLAGS
09:27:32 1710 EXAMINE "INBOX.spamassassin"
09:27:32 1711 UID FETCH 180267:* FLAGS
09:27:32 1712 EXAMINE "INBOX.2009"
09:27:32 1713 UID FETCH 30541:* FLAGS
09:27:32 1714 EXAMINE "INBOX.sent-2009"
09:27:32 1715 UID FETCH 1763:* FLAGS
...

The 'UID FETCH 1:*' command is an O(n) operation (both in terms of
computation on client and server side but also on bandwidth) on the size
of the mailbox, and for large mailboxes this becomes really painful.  It
can results in MB's of data being pushed every time I press 'g'.

The old nnimap used the STATUS command to look for new mail instead.
There are controversies over whether this is a good idea or not, but
older IMAP RFCs support it and as far as I know, it is the fastest and
most reliable way to check for new mail.  Alternatively, doing a 'UID
FETCH 1,*' should be an O(1) operation.

Generally, why is it downloading all the flags on all messages over and
over again?  It should have all that cached anyway, except for possibly
new messages.

2) Nnimap no longer auto-discover that my server supports STARTTLS and
instead tried to use direct TLS, which obviously fails since my IMAP
server doesn't speak native TLS on the vanilla IMAP port.  I had to add
'nnimap-stream starttls' to my select method manually.  STARTTLS is the
recommended way to do TLS with IMAP so it would be nice to make this
work automatically.

3) When imap-log is non-nil, the *imap-log* buffer no longer contains
the output from the server, which makes debugging harder.

4) Nnimap mail splitting is not working any more.  All my e-mail sits in
INBOX and there is no filtering going on.  I don't see anything in
GNUS-NEWS about any change in this area, so it must be a bug. :-)

5) Selecting a IMAP group results in two SELECT operations?  From
*imap-log*:

09:34:53 2012 SELECT "INBOX.yxa-staff"
09:34:54 2013 SELECT "INBOX.yxa-staff"
09:34:54 2014 UID FETCH 6309:6315 (UID RFC822.SIZE BODYSTRUCTURE BODY.PEEK[HEADER.FIELDS (Subject From Date Message-Id References In-Reply-To Xref To Newsgroups)])
09:34:56 2015 UID FETCH 6309 BODY.PEEK[]

6) Deleting messages doesn't compress the article list, which for large
operations may result in too long lines:

09:35:05 2016 UID STORE 6309,6310,6311,6312,6313,6314,6315 +FLAGS.SILENT (\Deleted)
09:35:06 2017 UID EXPUNGE 6309,6310,6311,6312,6313,6314,6315
09:35:08 2018 UID STORE 6309:6315 +FLAGS.SILENT (\Seen)

Thanks,
/Simon



             reply	other threads:[~2010-09-26 10:55 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-26 10:55 Simon Josefsson [this message]
2010-09-26 16:17 ` Lars Magne Ingebrigtsen
2010-09-26 17:08   ` Lars Magne Ingebrigtsen
2010-09-26 18:33     ` Steinar Bang
2010-09-26 18:40       ` Lars Magne Ingebrigtsen
2010-09-26 23:44         ` Daniel Pittman
2010-09-26 17:49   ` Lars Magne Ingebrigtsen
2010-09-27 14:26     ` Simon Josefsson
2010-09-27 16:56       ` Lars Magne Ingebrigtsen
2010-09-27 14:39   ` Simon Josefsson
2010-09-27 17:20     ` Lars Magne Ingebrigtsen
2010-09-27 17:25       ` Steinar Bang
2010-09-27 17:39         ` Julien Danjou
2010-09-27 21:17           ` Frank Schmitt
2010-09-28  8:08 ` Steinar Bang
2010-09-28  8:35   ` David Engster
2010-09-28 13:00     ` Steinar Bang
2010-09-29 15:06       ` Lars Magne Ingebrigtsen
2010-10-12  6:45       ` Steinar Bang
2010-10-12 12:44         ` Lars Magne Ingebrigtsen

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=878w2olqoa.fsf@mocca.josefsson.org \
    --to=simon@josefsson.org \
    --cc=ding@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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).