#1700 MM hotfix: fix Internet2 & BGP lookups for zero-length lists
Closed: Fixed None Opened 14 years ago by mdomsch.

= phenomenon =
yum upgrade fails
Could not parse metalink https://mirrors.fedoraproject.org/metalink?repo=updates-released-f11&arch=x86_64 error was
File /var/cache/yum/updates/metalink.xml.tmp is not XML
Error: File /var/cache/yum/updates/metalink.xml does not exist

= reason =
OrderedNetblocks.lookup() fails on a zero-length list, returning False instead of raising KeyError like it should.

= recommendation =
commit 2948c07ca1a11f786e879fb4884dbd23bfd61307
Author: Matt Domsch matt@domsch.com
Date: Mon Sep 28 21:54:39 2009 -0500

bugfix: lookup() on empty OrderedNetblocks returned False, instead of raising KeyError

diff --git a/mirrorlist-server/mirrorlist_server.py b/mirrorlist-server/mirrorlist_server.py
index 329014e..1dae32d 100755
--- a/mirrorlist-server/mirrorlist_server.py
+++ b/mirrorlist-server/mirrorlist_server.py
@@ -93,7 +93,7 @@ class OrderedNetblocks:

 def lookup(self, item):
     if len(self.list) == 0:
  • return False
  • raise KeyError
    index = bisect.bisect(self.list, item)
    if index == 0:
    raise KeyError

This is broken in MM 1.3.2. Fix is hotfixed on all appservers and committed to mainline.


Login to comment on this ticket.

Metadata