Re: [exim] Exim has a bad queue handling?

Top Page
Delete this message
Reply to this message
Author: Patrick von der Hagen
Date:  
To: John Robinson
CC: exim-users
Subject: Re: [exim] Exim has a bad queue handling?
Am Montag, den 23.10.2006, 16:44 +0100 schrieb John Robinson:
[...]
> If I understand you correctly, exim will not defer multiple messages to
> a recipient based on receiving a 4xx to the RCPT for one single message,
> each message will be tried immediately at the time of first submission,
> and this means each message (or triple) gets into the remote greylist at
> the earliest opportunity, and the recipient deferral is only liable to
> cause multiple message retries to happen earlier, not later, and perhaps
> the issue I'm wrestling with (as raised by Daniel Tiefnig earlier in
> this thread) isn't really an issue at all :-)

Well, there is one issue about queue-handling and greylisting that you
might run into....

Imagine you forward messages to a server that applies greylisting. Quite
a normal setup here. You get a message from A at 0:00 and have to
forward it to recipient Z on the server applying greylisting. A
temporary error is received and the greylisting-daemon saves
(A,Z,YOUR-IP) to its database.
Exim sets a retry-time, e.g. 15 minutes for recipient Z.

At 0:14 a new mail from a new sender arrives, which is to be forwarded
to Z. You try it immediately, the greylisting-daemon saves (B,Z,YOUR-IP)
and your exim updates its retry-database, to have a new retry at 0:29

At 0:15 your queue-runner considers retrying the message from A to Z,
but the retry-time has been updated to 0:29....

And so on.

In theory, you can get a shedule where exim repeatedly retries one
recipient with new sender-addresses, thus never(!) succeeding in getting
the message through.

Sounds improbable?

Standard retry-rule by Debian-exim4 (not sure wheter that's the normal
exim-retry-rule) would be
*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h


You need eight messages at the right shedule during the first two hours.
Improbable. But if you get 20 mails in two hours, the probability to
pass the first two hours without a retry for a given sender increases
quite a bit. Not really improbable on a busy day.
After the first two hours, you need only six more messages to pass eight
hours of retries. That's not important for exim, but at least one
greylist-daemon I know would purge its database if there has been no
retry within eight hours.

So, in conclusion, it isn't really hard to find a schedule of incoming
messages causing real headaches. It is really bad when there has been no
previous successful delivery to Z at the server using greylisting.

I have a small setup, just 100k messages outgoing a day. I've seen that
issue rarely, but suppose some others might be suffering quite a bit.

--
CU,
Patrick.