Re: [exim-dev] 4.53 Release candidate

Top Page
Delete this message
Reply to this message
Author: Michael Haardt
Date:  
To: exim-dev
Subject: Re: [exim-dev] 4.53 Release candidate
On Wed, Sep 14, 2005 at 10:08:10AM +0100, Philip Hazel wrote:
> I have made a candidate for the 4.53 release, and put it in
>
> ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/Testing/exim-4.53-RC1.tar.gz
> ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/Testing/exim-4.53-RC1.tar.gz.sig
>
> The release identifies itself as 4.53-RC1.


The following patch works fine for me in production since about a
week.

----------------------------------------------------------------------
--- src/retry.c.orig    2005-09-14 10:59:57.000000000 +0200
+++ src/retry.c 2005-09-14 12:49:30.000000000 +0200
@@ -746,8 +746,11 @@
             int last_actual_gap = now - retry_record->last_try;
             int lastgap = (last_predicted_gap < last_actual_gap)?
               last_predicted_gap : last_actual_gap;
-            next_try = now + ((lastgap < rule->p1)? rule->p1 :
-               (lastgap * rule->p2)/1000);
+            int next_gap = (lastgap*rule->p2)/1000;
+            if (next_gap<=rule->p1)
+              next_try = now + rule->p1;
+            else
+              next_try = now + rule->p1 + random_number(next_gap-rule->p1);
             }
           }


----------------------------------------------------------------------

It changes the geometric retry interval algorithm from a fixed exponential
backoff to a randomised exponential backoff. Most people would never
notice the difference. It makes a big difference for me, though.

Michael