Gnus development mailing list
 help / color / mirror / Atom feed
From: Simon Josefsson <simon@josefsson.org>
To: Ted Zlatanov <tzz@lifelogs.com>
Cc: Jake Colman <colman@ppllc.com>,
	ding@gnus.org, Emacs developers <emacs-devel@gnu.org>
Subject: Re: Exchange 2007 Issues When Copying Between Folders
Date: Tue, 01 Apr 2008 16:06:41 +0200	[thread overview]
Message-ID: <878wzxr7ny.fsf@mocca.josefsson.org> (raw)
In-Reply-To: <868wzypw22.fsf@lifelogs.com> (Ted Zlatanov's message of "Mon, 31 Mar 2008 13:50:29 -0500")

Ted Zlatanov <tzz@lifelogs.com> writes:

> On Mon, 31 Mar 2008 10:54:12 -0400 Jake Colman <colman@ppllc.com> wrote: 
>
> JC> Ted suggested that I post here as I find more issues with using Gnus
> JC> with Exchange 2007.
>
> JC> If I move an email between IMAP folders ('B m'), I get the following messages:
>
> JC> Registry: Registering article 6 with group nnimap+exchange-d01:INBOX/Development/gnu
> JC> Registry: Registering article 7 with group nnimap+exchange-d01:INBOX/Development/gnu
> JC> Moving to nnimap+exchange-d01:INBOX/Development/CVS: (6)...
> JC> nnimap-request-move-article: this is an internal move
> JC> The specified message set is invalid.
> JC> Couldn't Move article 6: The specified message set is invalid.
> JC> nnimap: Updating info for nnimap+exchange-d01:INBOX/Development/gnu...
> JC> nnimap: Updating info for nnimap+exchange-d01:INBOX/Development/gnu...done
>
> JC> The message is, in fact, copied between the 'gnu' folder and the 'CVS'
> JC> folder but it is not deleted from the 'gnu' folder.
>
> JC> I am attaching the output of the imap-debug buffer showing everything starting
> JC> with pressing 'B m'.
>
> The command that caused the problem:
>
> 511 UID FETCH * UID
>
> (copying emacs-devel regarding the maintenance issue)
>
> Simon Josefsson hasn't replied to my pings, so I think he may not be
> available for imap.el support.  Simon, please let us know if that's not
> the case.

Hi!  Sorry for not responding, I have been busy with other things, and I
don't have much time to work on (nn)imap.el any more.  I have time to
review concrete patches, but little time to help debug problems with
some servers.

However, the recently installed patch for Gnus is definitely the wrong
thing:

-	  (imap-fetch "1,*" "UID" nil 'nouidfetch)
+	  (imap-fetch "1:*" "UID" nil 'nouidfetch)

This generates thousands and thousands of unnecessary lines of output,
such as:

669 FETCH 1:* UID
* 1 FETCH (UID 53159)
* 2 FETCH (UID 53160)
* 3 FETCH (UID 53161)
...
* 103915 FETCH (UID 157074)
* 103916 FETCH (UID 157075)
* 103917 FETCH (UID 157076)
669 OK Completed

That's about 2-3MB of output, and that was getting information for one
of my folders (I subscribe to maybe 100-150 folders..).

This slows down pressing 'g' on my server from sub-seconds to a very
long time (I pressed C-g after half a minute).

This is how the output should look like:

698 FETCH 1,* UID
* 1 FETCH (UID 53159)
* 103918 FETCH (UID 157077)
698 OK Completed

That's 89 bytes and takes ms's to transfer.

If you want this bug workaround in the code, please make it conditional
on some variable that is disabled by default.  I suggest documenting
that this may slow down things considerably.

> I'm willing to dig further and maybe support imap.el if no one else
> wants it, but honestly the IMAP RFCs are unpleasant and annoy me, so I
> need a better explanation of the protocol.  Google was not helpful.  Can
> anyone suggest an IMAP primer I can read?  I'm interested in the actual
> protocol, so the more concrete the examples, the better.

I'm not aware of any, and I would agree that the RFC is unfriendly...
if you can't find any primer, just toggle imap-log and try to understand
the commands send by Gnus for each operation that is needed.  Read the
RFC for full explanations of some things.

/Simon




  reply	other threads:[~2008-04-01 14:06 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-31 14:54 Jake Colman
2008-03-31 18:50 ` Ted Zlatanov
2008-04-01 14:06   ` Simon Josefsson [this message]
2008-04-01 14:13     ` Jake Colman
2008-04-01 14:14     ` Jake Colman
2008-04-01 14:21       ` Simon Josefsson
2008-04-01 14:29         ` Simon Josefsson
2008-04-01 14:34           ` Jake Colman
2008-04-01 14:49             ` Simon Josefsson
2008-04-02 14:22               ` Ted Zlatanov
2008-04-02 14:35                 ` Simon Josefsson
2008-04-01 22:00     ` Gaute Strokkenes
2008-04-01 22:08       ` Simon Josefsson
2008-04-02 14:19     ` Ted Zlatanov
2008-04-02 14:33       ` Simon Josefsson
2008-04-03 13:09         ` Ted Zlatanov

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=878wzxr7ny.fsf@mocca.josefsson.org \
    --to=simon@josefsson.org \
    --cc=colman@ppllc.com \
    --cc=ding@gnus.org \
    --cc=emacs-devel@gnu.org \
    --cc=tzz@lifelogs.com \
    /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).