--On Monday, April 22, 2002 23:53 +0200 Luca Olivetti <[EMAIL PROTECTED]> 
wrote:

> Hi,
> with mozilla there's an option to check mail in all folders, useful for
> server side filtering with sieve
> http://bugzilla.mozilla.org/show_bug.cgi?id=18266
>
> The problem is that to do that mozilla opens various connections to the
> server to check various folders ot once. With cyrus 2.0.16, and now with
> 2.1.3 (but not with 1.6.24), seen messages "resuscitate" various times (I
> read some messages, they're marked as seen, and after a while they're
> unseen again, and this annoying cycle repeats various times). This is
> probably due cyrus caching of the seen state, so that with various imapd
> active at once, one may see the message as seen and the other as unseen.
> This has been discussed here before

Cyrus makes extensive use of mmap() to propagate changes between various 
persistent IMAP processes in the seen database.  I've walked through the 
code and can't see any reason why changes in one IMAP process don't 
propagate to the other processes.  The only reason I can come up with is 
that mmap() isn't working quite right (I run a Linux server but I've had 
reports that Solaris has simliar problems).

I solved the problem by not caching the seen database (ie, for each 
operation it opens the seen database fresh and then closes it).  My system 
is very small so I did not notice any performance problems, but I imagine 
the performance problems could be substantial, especially with large seen 
databases.

I sent a message to the list with the section of code I commented out, if 
you can't dig it up let me know and I'll post it again.

Alec

--
Alec H. Peterson -- [EMAIL PROTECTED]
Chief Technology Officer
Catbird Networks, http://www.catbird.com

Reply via email to