UC Davis Cyrus Incident September 2007

Pascal Gienger Pascal.Gienger at uni-konstanz.de
Wed Oct 17 10:49:33 EDT 2007


Vincent Fox <vbfox at ucdavis.edu> wrote:

> The root problem seems to be an interaction between Solaris' concept of
> global memory consistency and the fact that Cyrus spawns many processes
> that all memory map (mmap) the same file.  Whenever any process updates
> any part of a memory mapped file, Solaris freezes all of the processes
> that have that file mmaped, updates their memory tables, and then
> re-schedules the processes to run.

Now we come closer, I experience the same behaviour when loads are going up.
Which file is mmap'd by _all_ Cyrus processes?

I understand that the local index files in every mailboxes are mmap'd after 
a customer logged in to an imap process or when a delivery via lmtpd is 
being made in this mailbox, but which global file is mmap'd by all 
processes? mailboxes.db using skiplist?

Does the problem also arise with 2000 processes using the same db4 library 
to access the same berkeley database?

Pascal


More information about the Info-cyrus mailing list