<<< Date Index >>>     <<< Thread Index >>>

Re: CVS HEAD problems with concurrent access to a big IMAP box



Hello Brendan,

* Brendan Cully <brendan@xxxxxxxxxx> [040828 22:24]:
> It would be easier to tell who was at fault with a trace of the
> session. My recollection is that the server is responsible for
> delivering messages for which it hasn't previously announced an
> expunge. Cyrus handles this situation by refcounting the message and
> not removing it until no client has a handle on it, so mutt works
> quite well with it.

See attached message. Cyrus returns an empty head and and empty body.
While courier returns an error.

> I'm not sure whether or not courier is within the bounds of the IMAP
> spec (in the past, it often hasn't been), but of course mutt shouldn't
> freeze up anyway.

However with newest mutt and newest courier, mutt aborts if you delete a
message while fetching it. That. Should be fine. As long as you have
header caching. But how often it happens that you concurrent access a
mailbox and delete an eMail on the other site.

Honestly,
        Thomas
--- Begin Message ---
Thomas Glanzmann writes:

with a recent version of the courier imapd the problem doesn't pop up
any longer. mutt aborts if the mailbox was modified.

However I tried the same thing with an cyrus imap and it show to deleted
mails with empty header/body. Hopefully they choose a sane uid, not that
it gets cached wrong.

If Courier cannot open a message it thinks should exist (because another session expunged that message by the time it got to it), Courier sends an untagged NO message to the client. Cyrus, apparently, chooses to create a dummy message with an empty header and body.


Attachment: pgp4bRbjiJwS0.pgp
Description: PGP signature


--- End Message ---