Bug 222517 - Bad list of mirrors, a list of only a single mirror is troublesome
Summary: Bad list of mirrors, a list of only a single mirror is troublesome
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: distribution
Version: 6
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mike McGrath
QA Contact:
URL:
Whiteboard:
: 223668 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-01-13 02:47 UTC by Juliano F. Ravasi
Modified: 2014-01-21 22:56 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-01-22 15:31:06 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Juliano F. Ravasi 2007-01-13 02:47:37 UTC
Fedora uses a dynamic page to provide a list of mirrors for yum to try. The
script in question, hosted at http://mirrors.fedoraproject.org/mirrorlist ,
checks the user country and returns a list of mirrors near the user.

The problem with this script is that it often returns too few mirrors. For me,
who is living in Brazil, it returns *only one* mirror, at UNICAMP:

 ~% curl
'http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-fc6&arch=i386'
 # repo = updates-released-fc6 country = BR arch = i386
 http://www.las.ic.unicamp.br/pub/fedora/linux/core/updates/6/i386/

Having a single site completely kills the motivation for mirrors, you create a
Single Point of Failure. And this is often the case, because UNICAMP is not a
fast mirror, specially outside the brazilian academic network; also, it is not
very stable, with common records of downtime. And also, being the only site
returned on this list of mirrors, UNICAMP is overloaded serving the updates to
the whole country.

If the list is dynamic, it should return a list of at least 8 or 10 servers, no
matter they are not on the same country. Perhaps, returning the whole list would
be even better, since the yum-fastestmirror plugin is much more suited at
picking a good mirror.

But please, fix this script ASAP. I had to comment it on my fedora-updates.repo,
and I'm using the baseurl for the repository, since UNICAMP was giving me a very
bad headache with its downtime and latency on recent released packages.

---
Note: this bug should go to "Fedora Infrastructure", but the page for entering a
new bug (https://bugzilla.redhat.com/bugzilla/enter_bug.cgi) does not list
Fedora Infrastructure.

Comment 1 Mike McGrath 2007-01-13 05:28:04 UTC
add "country=global" to the end of it.  

Fedora Infrastructure no longer exists in bugzilla we have a ticketing system.

On a side note, 8 to 10 servers is unreasonable as most countries don't have
anywhere near that many mirrors.  This is one of those things where if one
mirror doesn't cut it for you there's an easy fix (country=global), though a
permanent solution should probably be made.  The question is whats the magic
number?  I'll take a look at the average number of mirrors / country (where the
country has a mirror) and see what we're talking about.

               -Mike

Comment 2 Juliano F. Ravasi 2007-01-13 13:58:04 UTC
Hello Mike,

Thnaks, "country=global" worked. Perhaps this should be documented in a comment
near mirrorlist= lines in fedora-{core,updates}.repo.

About the idea of 8 to 10 servers, if the country doesn't have that many
servers, just return all servers in that country and the remaining ones picked
at random from other countries.

For example, BR has a single mirror, so a query from Brazil would return the
only mirror, plus 7 more random servers on other countries. NL has 4 mirrors, it
would return these 4 and other 4 random servers on other countries. For
countries with more than 8 servers, just return all local servers and let yum
pick one at random.

The more mirrors a country has, more are the chances of picking a local mirror.
The idea is just avoiding the single point of failure.

Thanks!
Juliano

Comment 3 Mike McGrath 2007-01-22 14:53:52 UTC
*** Bug 223668 has been marked as a duplicate of this bug. ***

Comment 4 Mike McGrath 2007-01-22 15:31:06 UTC
Ok, here's what I've done.  The default behavior is to default to the global
list if the mirrors returned is less than 6.  I'll be examining more approperate
behavior (like returning countries that are close to the requestor) but the
entire mirror system is getting a workover very soon so doing too much work on
the current system is just waste.  

In the meantime, please let me know if this seems to work for those of you in
countries that have small mirror lists.  (basically what we're saying here is if
the number of mirrors is small for you, just go back to the old way and return
all mirrors)

Comment 5 Stefan Axelsson 2007-02-01 19:25:16 UTC
Hi, I just tried the update and it works a lot better for me, I now don't get
disconnected with "too many users" and reasonable speeds to boot. It still not
perfect as some mirrors are very slow, but I'll try the yum plugin that
addresses that (and the whole approach was after all being overhauled). Thanks
for the quick response and keep up the good work! 

Best Regards, Stefan Axelsson


Note You need to log in before you can comment on or make changes to this bug.