[Tickets #11590] Re: Kolab backend: IMAP cache does not get updated

bugs at horde.org bugs at horde.org
Wed Oct 31 21:27:38 UTC 2012


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/11590
------------------------------------------------------------------------------
  Ticket             | 11590
  Updated By         | Michael Slusarz <slusarz at horde.org>
  Summary            | Kolab backend: IMAP cache does not get updated
  Queue              | Horde Framework Packages
  Version            | Git master
  Type               | Bug
  State              | Assigned
  Priority           | 3. High
  Milestone          |
  Patch              |
  Owners             | Gunnar Wrobel
------------------------------------------------------------------------------


Michael Slusarz <slusarz at horde.org> (2012-10-31 15:27) wrote:

>> Any reason you are not using CONDSTORE/QRESYNC if it is available?
>
> No. I planned to use these but never found the time to actually get  
> into this and write the necessary code. What you write sounds  
> however as if this would avoid even more IMAP calls than I expected.  
> My assumption was that CONDSTORE would allow me to reduce the two  
> IMAP calls in each situation to a single one.

This is not entirely correct.  A bit of explanation is probably necessary.

In short, without additional IMAP calls CONDSTORE can only tell you  
whether a mailbox has changed from a previous state.  If caching on  
the local host, it still requires two separate IMAP calls (one to  
check for flag changes, one to check for deleted messages) to  
determine what has changed.  Further, things may have changed in the  
mailbox that you don't care about (i.e. UIDs not visible), but  
CONDSTORE won't provide you this information.  CONDSTORE will,  
however, allow you to forgo additional mailbox sync calls if the mod  
sequence value hasn't changed since the last access - thus, if the  
mailbox hasn't changed, you won't need to issue those 2 additional  
IMAP calls.

If a client does its homework before opening a mailbox, QRESYNC  
instead allows the local cache to be updated without *any* further  
IMAP call (at the expense of a more involved SELECT/EXAMINE command) -  
all sync information is passed as untagged responses in the  
SELECT/EXAMINE return.





More information about the bugs mailing list