[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: LC results for draft-melnikov-imap-expunged and how to move forward
Randall Gellens wrote:
At 5:33 PM +0100 9/23/06, Alexey Melnikov wrote:
d). Several people got confused by how much extra server state needs
to be stored and under what circumstances.
-00 required to store a modsequence for each expunged message. This
can potentially result in potentially very long list, with no upper
limit on its length.
-01 was changed to require absolutely no extra state on the server.
Arnt and Dave have convinced me that what described in -01 can
consume too much bandwidth. And I agree with Mark and Peter Coates
that holding expunged data indefinitely (as in -00) is not a good idea.
So, I would suggest to do the following changes:
Allow implementations to either store modsequences for expunged
messages (+ allow there expiration) or not store any extra state. The
latter would be compliant, but would be clearly marked as "poor
implementation". Because this would not make any difference from
protocol point of view (apart from wasting bandwidth), there is no
reason to completely disallow such implementations. For the former
case I would add an extra section describing why holding expunged data
indefinitely is a bad thing. This section would also recommend how to
properly "expire" old expunged records.
I admit to still being confused, since based on side discussions I
thought the server didn't need to store any state but would just report
to the client which messages in the set no longer exist.
This was my understanding as well, based on a private discussion with
Alexey prior to hacking up an implementation for Cyrus.
Project Cyrus Developer/Maintainer
Carnegie Mellon University