zorg wrote:

Hi c
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

In 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>.

(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

Reply via email to