> On Oct 2, 2017, at 7:13 AM, Wietse Venema <wie...@porcupine.org> wrote:
> 
>> An SMTP nexthop corresponds to an unknown
>> (to the queue manager) set of destination MX hosts.  Lots of domains
>> have various google, outlook.com, ... MX hosts, but there's no way
>> to know this without doing the MX lookup first.  How do you propose
>> to avoid making more than the destination concurrency of connections
>> to a Gmail or Microsoft, ... MX host?
> 
> If a domain has no 'popularity' stats, apply the concurrency limit
> to the domain name only. Once a domain has a delivery request in
> progress, and there is another request queued for that domain, apply
> the concurrency limit to the domain name and to any popularity stats
> associated with the domain (assume that mail exchanger lookup results
> will be consistent with available popularity stats). Conceptually,
> domain popularity stats are pointers to mail exchanger popularity
> stats. They are updated when the delivery agent sends a hint, and
> automatically decremented when the queue manager to delivery agent
> connection is closed. One in progress, a delivery request is not
> preempted.

This is a best-effort model, which approximates a per-MX concurrency
limit when when the mail stream contains frequent messages to a set
of domains for which the associations with the underlying MX hosts
don't time out between messages.  Greylisting also makes this more
complicated, since on a first delivery attempt all the MX hosts will
tempfail.  Equal-weight MX hosts will make it difficult to apply the
concurrency limit correctly, since we don't know which MX host will
be chosen by the delivery agent...  Perhaps I am making this too
complicated, but I don't yet see how this comes together.

Mind you, if we're not about to start building this any time soon,
the design discussion is perhaps best deferred.

-- 
        Viktor.

Reply via email to