Re: The IMAP APPENDLIMIT Extension - version 04

Pete Maclean <[email protected]>
Newsgroups gmane.ietf.imapext
Message-ID <[email protected]>
>1.  APPENDLIMIT value should be UINT32_MAX or UINT64_MAX ?

UINT64_MAX

>2.  APPENDLIMIT value in SELECT/STATUS response: Whether APPENDLIMIT 
>is needed in both SELECT

I don't feel strongly about this but, considering the recent 
arguments on the matter, I lean toward having it only in STATUS.

Pete Maclean

>and STATUS response?
At 03:47 PM 3/18/2015, Jayantheesh S B wrote:
>All,
>
>Can you please share your views regarding the below item to come to 
>a consensus?
>
>1.  APPENDLIMIT value should be UINT32_MAX or UINT64_MAX ?
>
>2.  APPENDLIMIT value in SELECT/STATUS response: Whether APPENDLIMIT 
>is needed in both SELECT and STATUS response?
>
>Please share your thoughts.
>
>Regards,
>Jay
>
>-----Original Message-----
>From: Alexey Melnikov [mailto:[email protected]]
>Sent: Monday, March 09, 2015 8:00 AM
>To: Michael M Slusarz; [email protected]
>Subject: Re: [imapext] The IMAP APPENDLIMIT Extension - version 04
>
>Hi,
>After thinking more about this topic (I might have changed my 
>position on a few minor issues):
>
>On 06/03/2015 21:27, Michael M Slusarz wrote:
> > Quoting Chris Newman <[email protected]>:
> >
> >> Q for list: If the server has a message larger than UINT32_MAX in the
> >> store and a client tries to fetch it, should the server just go ahead
> >> and violate the base-spec's UINT32_MAX limit or should the data be
> >> NIL unless the client uses ENABLE to tell the server it accepts
> >> larger-than-uint32-max literals on messages? If this extension fixes
> >> that base spec limitation in addition to enabling better client
> >> diagnostics for overlarge messages, I think that's cool.
> >
> > I agree that the max limit should be extended.  However, it doesn't
> > seem like the APPENDLIMIT document is the (best) place to do that
> > since burying a change in a document devoted to APPEND behavior that
> > affects a general IMAP limit, e.g. changing FETCH behavior, doesn't
> > seem to be the model of clarity.
>I agree.
> >
> >> Having two different ways to access a per-folder limit is a violation
> >> of good protocol design practices. Specifically 3.1 and 3.2 provide
> >> two ways to access the same appendlimit. I believe the document would
> >> be improved by the removal of section 3.1. Some problems with the
> >> current two-mechanism proposal:
> >
> > +1.  This is what I had written about previously.
>Not really a violation, because the data is the same whether 
>returned by STATUS or SELECT
> >> * Which limit will the client use if the two limits are different?
> >> * Should a client SELECT a mailbox before doing an APPEND? This is
> >> not required by the base spec and is less efficient. The presence of
> >> section 3.1 implies a client should do this. I do not think a client
> >> should do this.
> >> Removing section
> >> 3.1 removes this issue as a problem.
> >
> > More important... this may be a non-trivial value to calculate for the
> > server.
>(Depending on how accurate a server might want to make this information.
>This is a quality of implementation issue.)
> >
> >> * The addition of APPENDLIMIT as a response to SELECT even for
> >> clients that don't understand it penalizes all clients with
> >> unnecessary network traffic.
> >> While it's not a big response by itself, we're starting to get a
> >> death-of-1000-cuts problem with SELECT responses, so unless it's
> >> really important (and in most cases I think the capability is good
> >> enough) I'd rather not add that extra traffic (and potential battery
> >> life cost on mobile devices).
> >
> > To me the most common use case for APPEND is sent-mail saving.
> > Generally this will occur in one of two situations:
> >
> > 1.) Replying/Forwarding to an existing message. In these cases, it is
> > likely that at the time of sending that the client will still be in
> > the same mailbox - most people tend to write a message in one sitting
> > so they won't change their mailbox - and this mailbox will NOT be the
> > sent-mail mailbox.
> > 2.) Composing a New Message. The client IMAP connection may be in
> > either a selected or non-selected state depending on their previous
> > actions in the client UI, but odds are high that they are unlikely to
> > be in the Sent mailbox.
> >
> > In either of these cases it is going to be a MUCH less expensive
> > operation to grab the APPENDLIMIT with a STATUS(-like) call followed
> > by an APPEND rather than SELECTing the mailbox and then APPENDing.
> > Not only will the client code have to do the normal state
> > initalization of opening a mailbox, which probably isn't necessary
> > from a UI perspective since the user doesn't care about the
> > contents/status of the sent-mail mailbox, but this initialization
> > could involve other delays if the server is doing things like
> > on-demand new message tasks within that mailbox (e.g. header caching,
> > search indexing).
> >
> > TLDR: APPENDs to a sent mail mailbox are the most common real-world
> > APPEND action, and these APPENDs rarely occur when in selected state
> > within the sent mail mailbox.
>Ok, I don't have a strong preference one way or another, but I find 
>your argument convincing and I can live without APPENDLIMIT be 
>returned on SELECT.
> >> * The document does not state if the APPENDLIMIT response is a
> >> MUST/SHOULD/MAY.
> >> If it's a MAY, my server implementation won't send it, in which case
> >> why is it in the spec? If it's a SHOULD, I'll include a product
> >> option so admins can disable it. If it's a MUST, I object to
> >> advancing the proposal.
> >
> > Agree.  It can be argued that this would actually make things slightly
> > slower for the vast majority of clients, with no (or microscopic) gain
> > to APPENDLIMIT aware clients.
>Right.
>
>   [snip]
>
>
>_______________________________________________
>imapext mailing list
>[email protected]
>https://www.ietf.org/mailman/listinfo/imapext

_______________________________________________
imapext mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/imapext
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.