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

Brian Awood bawood at umich.edu
Tue Nov 10 12:26:22 EST 2009


You can avoid the behavior in your second question by setting 
mupdate_config: unified
in your proxies imapd.conf.  That was a long standing issue with 
murder in a large scale environment with cyrus 2.2.

On Tuesday 10 November 2009 @ 11:51, Michael Bacon wrote:
> The second one is that the code for lmtpproxyd very explicitly
> connects to the mupdate master rather than the local slave.  I
> can't really figure out why it would do this, but here are the two
> relevant snippets from lmtpd.c:
>
> This is from service_init:
>
>     if (config_mupdate_server &&
>         (config_mupdate_config ==
> IMAP_ENUM_MUPDATE_CONFIG_STANDARD) &&
> !config_getstring(IMAPOPT_PROXYSERVERS)) {
>         /* proxy only -- talk directly to mupdate master */
>         r = mupdate_connect(config_mupdate_server, NULL, &mhandle,
> NULL); if (r) {
>             syslog(LOG_ERR, "couldn't connect to MUPDATE server %s:
> %s", config_mupdate_server, error_message(r)); fatal("error
> connecting with MUPDATE server", EC_TEMPFAIL); }
>     }
>
>
> and it appears that this runs every time a message delivery is
> attempted:
>
> static int mlookup(const char *name, char **server, char **aclp,
> void *tid) {
>     int r, type;
>
>     if (server) *server = NULL;
>
>     if (mhandle) {
>         /* proxy only, so check the mupdate master */
>         struct mupdate_mailboxdata *mailboxdata;
>
>         /* find what server we're sending this to */
>         r = mupdate_find(mhandle, name, &mailboxdata);
>
> In short, it looks like, unlike proxyd and pop3proxyd, lmtpproxyd
> never even bothers to check the local mailboxes database, and when
> it wants an answer, feels the need to go directly to the mupdate
> master, rather than querying the handy dandy local slave.  Is this
> intentional?  Why can't it use the local cache?
>
> Thanks much,
> Michael Bacon
> UNC Chapel Hill
> ----
> 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




More information about the Info-cyrus mailing list