On Wed, May 06, 2009 at 12:02:35PM +0200, Ulrich Zehl wrote:

> In my setup, I have a hash table that's used in relay_domains, like so:
> 
> relay_domains = 
>         hash:/etc/postfix-incoming/maps/domains,
>         hash:/etc/postfix-incoming/maps/auto/domains
> 
> Currently, this table is completely rebuilt from a database every five
> minutes or so, even if there are no changes. (This makes the programm that
> builds it simpler.)
> 
> This causes qmgr to restart itself whenever it notices that the table has
> changed:
> 
> May  6 11:49:42 allina postfix-incoming/qmgr[19084]: table 
> hash:/etc/postfix-incoming/maps/auto/domains(0,lock|fold_fix  has changed -- 
> restarting

This is a side-effect of the default backwards-compatible setting:

    fast_flush_domains = $relay_domains

When mail is deferred, the queue manager informs the flush service if
the domain matches this list. As a result the queue manager opens any
associated tables. If you don't support ETRN, you will be much happier
after you set "fast_flush_domains" empty.

There is a comment in in src/global/defer.c:defer_append():

        /*
         * Notify the fast flush service. XXX Should not this belong in the
         * bounce/defer daemon? Well, doing it here is more robust.
         */
        if ((rcpt_domain = strrchr(rcpt->address, '@')) != 0
            && *++rcpt_domain != 0)
            switch (flush_add(rcpt_domain, id)) {
            case FLUSH_STAT_OK:
            case FLUSH_STAT_DENY:
                break;
            default:
                msg_warn("%s: %s service failure", id, var_flush_service);
                break;
            }

Perhaps if the code did get moved into the bounce service, we could
eliminate this *last* table dependency from the queue manager. I've not
looked into what the implications of such a change would be, Wietse is
away this week, but hopefully he'll still read this and respond when
he returns.

-- 
        Viktor.

Disclaimer: off-list followups get on-list replies or get ignored.
Please do not ignore the "Reply-To" header.

To unsubscribe from the postfix-users list, visit
http://www.postfix.org/lists.html or click the link below:
<mailto:majord...@postfix.org?body=unsubscribe%20postfix-users>

If my response solves your problem, the best way to thank me is to not
send an "it worked, thanks" follow-up. If you must respond, please put
"It worked, thanks" in the "Subject" so I can delete these quickly.

Reply via email to