[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.


--
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University