Re: LARGE single-system Cyrus installs?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 13 Nov 2007, Bron Gondwana wrote:

> If you're planning to lift a consistent copy of a .index file, you need
> to lock it for the duration of reading it (read lock at least).

mailbox_lock_index() blocks flag updates (but this doesn't seem to be 
something that imapd worries about when FETCHing data). You don't need to 
worry about expunge or append events once the mailbox is open.

> But since I would like a consistent snapshot of the mailbox state, I 
> lock the cyrus.header and then the cyrus.index and then (if it's there) 
> the cyrus.expunge.  That means no sneaky process could (for example) 
> delete the mailbox and create another one with the same name while I was 
> busy downloading the last file - giving me totally bogus data.

chdir() into the mailbox data directory: with delayed delete and fast 
rename it shouldn't matter if the mailbox is replaced under your feet. 
That's the way replication worked on my 2.1 systems, prior to split-meta.

(Locking isn't a big deal, but safe concurrent access is always nice).

-- 
David Carter                             Email: David.Carter@xxxxxxxxxxxxx
University Computing Service,            Phone: (01223) 334502
New Museums Site, Pembroke Street,       Fax:   (01223) 334679
Cambridge UK. CB2 3QH.
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux