[Yum-devel] [PATCH 2/2] timedhosts: sanity check on dl_time

Zdeněk Pavlas zpavlas at redhat.com
Mon May 21 07:17:00 UTC 2012


- handle the dl_time <= 0 case

- relative validity of calculated speed now depends
  on dl_time instead of dl_size.  (that's where the
  random error is)
---
 urlgrabber/grabber.py |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py
index be85f92..73e14aa 100644
--- a/urlgrabber/grabber.py
+++ b/urlgrabber/grabber.py
@@ -2301,11 +2301,12 @@ class _TH:
 
         if ug_err is None:
             # k1: the older, the less useful
-            # k2: if it was <1MiB, don't trust it much
+            # k2: <500ms readings are less reliable
             # speeds vary, use 10:1 smoothing
             k1 = 2**((ts - now) / default_grabber.opts.half_life)
-            k2 = min(dl_size / 1e6, 1.0) / 10
-            speed = (k1 * speed + k2 * dl_size / dl_time) / (k1 + k2)
+            k2 = min(dl_time / .500, 1.0) / 10
+            if k2 > 0:
+                speed = (k1 * speed + k2 * dl_size / dl_time) / (k1 + k2)
             fail = 0
         elif getattr(ug_err, 'code', None) == 404:
             fail = 0 # alive, at least
-- 
1.7.4.4



More information about the Yum-devel mailing list