Re: Communciator 4.02 Imap EXPUNGE problem
"Barry Leiba, Multimedia Messaging" <leiba@watson.ibm.com> Tue, 26 August 1997 18:05 UTC
Received: from cnri by ietf.org id aa11559; 26 Aug 97 14:05 EDT
Received: from lists.u.washington.edu (root@lists.u.washington.edu [140.142.56.13]) by cnri.reston.va.us (8.8.5/8.7.3) with ESMTPid OAA07276 for <ietf-archive@CNRI.Reston.VA.US>; Tue, 26 Aug 1997 14:08:30 -0400 (EDT)
Received: from host (server@lists.u.washington.edu [140.142.56.13]) by lists.u.washington.edu (8.8.4+UW97.07/8.8.4+UW97.05) with SMTP id KAA31568; Tue, 26 Aug 1997 10:55:55 -0700
Received: from mx5.u.washington.edu (mx5.u.washington.edu [140.142.32.6]) by lists.u.washington.edu (8.8.4+UW97.07/8.8.4+UW97.05) with ESMTP id KAA24646 for <imap@lists.u.washington.edu>; Tue, 26 Aug 1997 10:55:19 -0700
Received: from mx1.cac.washington.edu (mx1.cac.washington.edu [140.142.32.1]) by mx5.u.washington.edu (8.8.4+UW97.07/8.8.4+UW97.04) with ESMTP id KAA07157 for <imap@u.washington.edu>; Tue, 26 Aug 1997 10:55:17 -0700
Received: from igw3.watson.ibm.com (igw3.watson.ibm.com [198.81.209.18]) by mx1.cac.washington.edu (8.8.4+UW97.07/8.8.4+UW97.04) with ESMTP id KAA23880 for <imap@cac.washington.edu>; Tue, 26 Aug 1997 10:55:14 -0700
Received: from mailhub2.watson.ibm.com (mailhub2.watson.ibm.com [9.2.250.15]) by igw3.watson.ibm.com (8.8.7/07-11-97) with ESMTP id NAA14274 for <imap@cac.washington.edu>; Tue, 26 Aug 1997 13:48:34 -0400
Received: from uranus.diz.watson.ibm.com (uranus.diz.watson.ibm.com [9.2.35.85]) by mailhub2.watson.ibm.com (8.8.2/07-14-97) with SMTP id NAA16467 for <imap@cac.washington.edu>; Tue, 26 Aug 1997 13:55:12 -0400
Message-Id: <SIMEON.9708261337.F@uranus.diz.watson.ibm.com>
Date: Tue, 26 Aug 1997 13:54:37 -0400
Sender: IMAP-owner@u.washington.edu
Precedence: bulk
From: "Barry Leiba, Multimedia Messaging" <leiba@watson.ibm.com>
To: imap <imap@cac.washington.edu>
Subject: Re: Communciator 4.02 Imap EXPUNGE problem
In-Reply-To: <MailManager.872609987.19274.mrc@Tomobiki-Cho.CAC.Washington.EDU>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; CHARSET="US-ASCII"
X-Authentication: none
X-Listprocessor-Version: 8.1 beta -- ListProcessor(tm) by CREN
We're starting to get closer to agreement. :-) On Tue, 26 Aug 97 08:39:47 -0700 Mark Crispin <MRC@cac.washington.edu> wrote: > However, RFC 2060 doesn't quite state that as strongly as you suggest. OK; I accept that. I think, though, that most implementers *think of* IMAP as a protocol that allows simultaneous access to the same mailbox, and that it would be useful to state explicitly that some servers, under some conditions, do not, and that a client should not assume such capability. > The bottom line is that there is an official documented mechanism to have > multiple operations in progress on the mailbox, and that mechanism should be > used. Kludges just get you into trouble. I most certainly agree with this. > This suggests to me that you do not understand the data model behind IMAP; No, I do understand it, but I contend that it's muddy. First, the spec specifically refers to some things as "required responses". Second, some responses (such as those to SEARCH) are very clearly attached to the commands that generated them. Third, the lack of tags on the responses makes other things (like the indication that a message has gone away) more difficult than it should be. But never mind; this isn't central to the point at hand. > > Perhaps we should add a CAPABILITY token for this -- some token that the > > server returns in the CAPABILITY response that indicates its support for > > multiple concurrent commands in the same session. > > My contention is that a client that wants to use this facility should always > use it, unconditionally. This will work with either type of server. Fair enough in the case we're talking about, but there are other cases when a client will want to know. For instance, maybe I want to do a "FETCH 1:50 ALL" to populate the screen, wait for the response, and then "FETCH 51:* ALL" to let the rest of the data come through in the background. But I still want to be able to get a "FETCH 5 BODY[1]" through if the user wants to read an item. If I know that the server supports the parallelism, I can do that. If not, I can't do it safely. What you're saying (and I understand why) is that all clients have to be coded to assume that the server doesn't support this. What I'm saying is that that means that in some cases I can't do certain optimizing that I might want to do. > > A *message* can disappear, but a sequence number can't. > > Not true. If you expunge 100 messages from a 150 message mailbox, then > sequence numbers 51:150 are history. Only after the EXPUNGE responses come back. But if I send a FETCH before then, the message numbers are still valid, and if I'm fetching data for a message that hasn't been expunged (which will be the case here if the UI is reasonably), its old message number is fine. > I'd be rather disappointed in a database back end that had a slow EXPUNGE! > That would lose 95% of the advantage of a database back end. I can't agree with this: expunging hundreds of messages may take a significant amount of time, no matter what method you use for it -- even if for no other reason than that the server has to build and send all the EXPUNGE responses, in addition to whatever work is involved with invalidating the database records. > I guess the problem I have with this is that it states the obvious! Yes, and I think it doesn't; I think it's not obvious until we have a discussion like this. Remember that you've been doing this for a long time and you have more than one implementation behind you. Someone getting into this for the first time will reasonably assume that she can do these sorts of things, unless we say otherwise and point out why not. > It certainly does not belong in the specification, which is large and Oh, absolutely. I'm suggesting an "Implementer's Guide". Perhaps I'll try putting together a draft of one, and let people beat on it and add their favourite stumbles. I think such a document will be useful -- because if this stuff were really all as obvious as you say, not so many people would be stumbling over it. Barry Leiba, Multimedia Messaging (leiba@watson.ibm.com) http://www.research.ibm.com/people/l/leiba
- (fwd) [Fwd: Communciator 4.02 Imap EXPUNGE proble… ccyflai
- re: (fwd) [Fwd: Communciator 4.02 Imap EXPUNGE pr… Mark Crispin
- Re: Communciator 4.02 Imap EXPUNGE problem Barry Leiba, Multimedia Messaging
- Re: Communciator 4.02 Imap EXPUNGE problem Mark Crispin
- Re: Communciator 4.02 Imap EXPUNGE problem Barry Leiba, Multimedia Messaging
- Re: Communciator 4.02 Imap EXPUNGE problem Eric Rizzo
- Re: Communciator 4.02 Imap EXPUNGE problem Mark Crispin
- Re: Communciator 4.02 Imap EXPUNGE problem Mark Crispin
- Re: Communciator 4.02 Imap EXPUNGE problem Barry Leiba, Multimedia Messaging
- Re: Communciator 4.02 Imap EXPUNGE problem Mark Crispin
- Re: Communciator 4.02 Imap EXPUNGE problem Barry Leiba, Multimedia Messaging
- Re: Communciator 4.02 Imap EXPUNGE problem Mike Macgirvin
- Re: Communciator 4.02 Imap EXPUNGE problem Mark Crispin
- Re: Communciator 4.02 Imap EXPUNGE problem Barry Leiba, Multimedia Messaging
- Re: Communciator 4.02 Imap EXPUNGE problem Mark Crispin
- Re: Communciator 4.02 Imap EXPUNGE problem Chris Hanson
- re: (fwd) [Fwd: Communciator 4.02 Imap EXPUNGE pr… Cyrus Daboo
- Re: Communciator 4.02 Imap EXPUNGE problem Barry Leiba, Multimedia Messaging
- "Minimum" and "Evil" servers Eric Rizzo
- Re: Communciator 4.02 Imap EXPUNGE problem Eric Rizzo