zorg wrote:
Hi cIn imap/append.c (at least in our Cyrus version) there is a function called append_newstage, and lmtpd uses this routine for mail delivery. The name of the temporary file being created in this code is of the form <pid>-<timestampseconds> which of course is not guaranteed to be unique across the cluster, so we just changed this code to create a filename of the form <clusternode>-<pid>-<timestampseconds>.
ould you give me just some more explaination of what is the stage./ files used during LMTP delivery have unique filenames
so if i underdstand what you saying. if the stage./ files used during LMTP delivery is the same for all the node of the cluster share the same SAN then there won't be any problem
thank
(If you truss/strace lmtpd during message delivery, you'll understand this right away)
Probably what should also happen in the std. code if some cluster support is officially added is that master should use some exclusive locking mechanism when it starts, to guarantee that a sysadmin's typo in imapd.conf won't allow cluster nodes to share a node ID, if the technique of configuring a cluster node ID in imapd.conf is used. And probably also, a node ID should always be required (which our code does).
When we get a chance, we're going to talk to Derrick about getting some cluster support into the std. code.
Ben
--
Ben Carter University of Pittsburgh/CSSD [EMAIL PROTECTED] 412-624-6470
--- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html