On Mon, 23 Oct 2006, Dave Lugo wrote:
> (wild off the cuff stuff that I don't know enough
> about filesystems to say if this would improve stuff)
>
> If exim has to look at the file to see if a new
> delivery attempt is due, would it be faster overall
> (for queue ops) to instead reflect that information
> in the -H filename, and just have exim update that as
> needed?
Impossible. Remember that a message may have multiple recipients, and
each recipient domain may resolve to multiple IP addresses. Exim looks
at the file to get the list of recipients; it then uses the routers to
find the list of IP addresses for each recipient; it then looks in its
hints database for retry information for each IP address (and
IP/recipient combinations for recipient errors). The amount of
potential information is therefore rather more than one could sensibly
put into a file name.
Furthermore, even if it were only one recipient and one IP address, the
next delivery due time is not fixed to a message. Consider the common
"connection failed" case (a host error). If there are 10 messages
waiting for one host, one delivery is tried when the retry time has
passed; if that fails, the other 9 messages are not tried at that time.
(It would be pretty pointless, wouldn't it?)
--
Philip Hazel University of Cambridge Computing Service
Get the Exim 4 book: http://www.uit.co.uk/exim-book