Is there a graceful shutdown of imapd process?

Greg A. Woods woods-cyrus at weird.com
Fri Nov 20 18:05:45 EST 2009


At Fri, 20 Nov 2009 11:14:19 -0500, "Dan Smith" <rrdansmith at gmail.com> wrote:
Subject: RE: Is there a graceful shutdown of imapd process?
> 
> My main goal is really to distribute newly created subscribers across
> multiple partitions.  The vendor supports multiple messaging solutions, so
> they chose to implement this partition load balancing as an external script
> that updates the default partition and restarts imapd.

(do you mean "imapd" there, or do you mean the Cyrus "master" process?)

Either way that sounds rather hokey for the purpose...

For example, what exactly does it mean to "support multiple messaging
_solutions_", and how exactly does this have anything to do with active
load balancing of IMAP/POP services over different "partitions"?  Does
"partition" here really mean what it does in /etc/imapd.conf?  Why the
heck isn't this level of "load balancing" being down way down in the
storage "layer"?  Does this in any way involve a MURDER configuration?


>  I have a strong
> dislike for killing active connections, so I'm trying to find a better
> solution.

I wouldn't worry about it and you should not either.  The correct
solution is to ask each active imapd to close its connection cleanly but
quickly, and to exit cleanly.

The IMAP protocol _MUST_ be robust against such events.  (I haven't done
a protocol analysis to determine this, but I do observe that some IMAP
servers have login timeouts which disconnect idle clients, and I also
observe that many other events can adversely affect communications
between a client and the server at any time causing the connection to
terminate abruptly at any phase or state.)


HOWEVER, this is _not_ what the patch being circulated does.

Currently the patch only tells _waiting_ processes to timeout and exit
without accepting any new connections.  _Active_ working processes will
still _ignore_ the SIGHUP.

The patch as it sits is _extremely_ safe!

It probably also does _exactly_ what your vendor's solution requires in
order to implement their form of partition load balancing.

-- 
						Greg A. Woods

+1 416 218-0098                VE3TCP          RoboHack <woods at robohack.ca>
Planix, Inc. <woods at planix.com>      Secrets of the Weird <woods at weird.com>


More information about the Info-cyrus mailing list