Murder confusion -- two mupdate slaves, lmtpproxyd's always connecting to master

Gary Mills mills at cc.umanitoba.ca
Tue Nov 10 12:11:41 EST 2009


On Tue, Nov 10, 2009 at 11:51:42AM -0500, Michael Bacon wrote:
> 
> I have two questions regarding the Murder architecture.  The first is just 
> a general annoyance at the way master starts up the mupdate processes.  In 
> order to get master to fire off anything, you have to set prefork=1. 
> However, the result of this is that you generate one mupdate, it reports as 
> unavailable to the master, and so the master fires off another one.  These 
> two seem to fight with each other over connections to the mupdate master, 
> over locks to the mailboxes database, and over who gets to serve 
> connections.  I don't think more than one is needed from what I can tell, 
> but you get two just out of the master architecture.  Do I really need two, 
> and if not, is there some way to keep more than one from starting up? 
> (maxchild=1 does not do the trick for whatever reason.  I'm still 
> deciphering code on this one.)

I finally fixed that one, but it took a long time to find the reason.
I always had two copies of the mupdate master running, but one of them
did almost nothing...

    # ps -fp "$(pgrep mupdate)"
         UID   PID  PPID   C    STIME TTY         TIME CMD
       cyrus  3024   700   0   Apr 03 ?           0:01 mupdate -C /etc/mupdate/imapd.conf -m
       cyrus  3026   700   0   Apr 03 ?          49:02 mupdate -C /etc/mupdate/imapd.conf -m

It turned out that one was listening on an IPv4 port and the other on
an IPv6 port.  Changing cyrus.conf from `listen=3905 prefork=1' to
`listen=3905 proto="tcp4" prefork=1' solved the problem for me.

I did the same thing for other Cyrus services as well.

-- 
-Gary Mills-        -Unix Group-        -Computer and Network Services-


More information about the Info-cyrus mailing list