Re: [Exim] Forgetting delivery attempts....

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Adam Thornton
CC: exim-users
Subject: Re: [Exim] Forgetting delivery attempts....
On 2 Nov 2003, Adam Thornton wrote:

> However, consider the following scenario--local ports I map are in the
> range 50000-50049--I get a mapping of vm:50002 for a remote host and
> port that has a transient error.
>
> Now, when I retry that host, Exim is going to retry vm:50002--but 50002
> is no longer hooked up to anything. What I want to do is forget that
> mapping and just run the transport again, so I get a new host (still vm)
> and a new port (let's say it's 50000) this time.


I don't think I fully understand this. Assuming you have patched Exim so
that the port is looked up each time the transport is run, Exim won't
automatically try the old port again, because you've computed a new one.
So is there really a problem?

> I *think* that setting retry_data_expire to something ridiculously
> short, like 1s, will fix this for me. Is that a correct reading of the
> spec? So the next time that message gets looked at, we say, "oh, our
> cached data has expired, let's ask again," at which point I get the same
> host (because it's fixed in $hosts, and hosts_override is set) and a new
> port (because generated with a ${run {...}} expansion)?


That will expire all retry data for all hosts, which may not be what you
want. Another way would be to set very short retry times for the host in
question. Something like

host.name * F,1w,1s

But, as I said above, I'm not sure you really need this. Unless, of
course, you do want to try vm:50002 every time it comes up.


--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book