Skip Menu |

This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id: 17353
Status: stalled
Priority: 0/
Queue: CPAN

People
Owner: ANDK [...] cpan.org
Requestors: adamk [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in: (no value)



Subject: Allow CPAN.pm to detect bad/old mirrors
In the middle of November mirror.aarnet.edu.au, by far the most common Australian mirror, broke. It stopped syncing with the master site. And it was until 3 weeks later that I actually noticed, because I couldn't install something from the Recent list. It still hasn't been corrected. The oldest that a mirror should ever get is 9 days (one week, plus two more days to handle incorrect timezone settings and miscellania). One a mirror gets to 231 hours old, the CPAN client should flag it as old somehow (per-session, NOT saving it in the config) rotate the mirror to the end of the list of selected mirrors. Then, ONLY if all other mirrors in the list fail or are also old, should it try to pull files from the old mirror. By not saving the changes, if a month down the track the mirror resyncs, then the client will start to use it again. The data required to establish server age is easy to get. If you want to ignore this bug for now and consider it just a tracking module for me, please do. I'm developing parallel functionality to this (mirror autoselection) as part of writing the JSAN::Client module, and I hope to recycle some of this new functionality into CPAN.pm (and the 6CPAN client) down the line. But I thought I should leave it here to let you know I would like to do this.
Subject: Re: [rt.cpan.org #17353] Allow CPAN.pm to detect bad/old mirrors
Date: Mon, 30 Jan 2006 10:07:29 +0100
To: bug-CPAN [...] rt.cpan.org
From: andreas.koenig.gmwojprw [...] franz.ak.mind.de (Andreas J. Koenig)
Show quoted text
>>>>> On Mon, 30 Jan 2006 00:00:03 -0500 (EST), " via RT" <bug-CPAN@rt.cpan.org> said:
Show quoted text
> But I thought I should leave it here to let you know I would like to do > this.
ACK. If I should come near the relevant code I'll do something about it, otherwise I'm looking forward to your implementation. To be safe, make sure you get the current version from the repository: https://pause.perl.org:5460/svn/cpanpm/trunk Thanks, -- andreas
Subject: Re: [rt.cpan.org #17353] Allow CPAN.pm to detect bad/old mirrors
Date: Tue, 31 Jan 2006 03:19:12 +1100
To: bug-CPAN [...] rt.cpan.org
From: Adam Kennedy <adam [...] phase-n.com>
I'll let you know before I do anything. andreas.koenig.gmwojprw@franz.ak.mind.de via RT wrote: Show quoted text
>>>>>> On Mon, 30 Jan 2006 00:00:03 -0500 (EST), " via RT" <bug-CPAN@rt.cpan.org> said:
>
> > But I thought I should leave it here to let you know I would like to do > > this.
> > ACK. If I should come near the relevant code I'll do something about > it, otherwise I'm looking forward to your implementation. To be safe, > make sure you get the current version from the repository: > > https://pause.perl.org:5460/svn/cpanpm/trunk > > Thanks,
Just to keep the ticket up to date: 1.88_62 now has the hosts command. If the user has a few URLs in the urllist and has set randomize_urllist to something > 0 and has downloaded a few items, the hosts command displays two small statistical tables about baandwidth and failed downloads. Next thing to do is to integrate freshness and find a formula to calculate the best hosts: fewest failed downloads, highest bandwidth, average freshness. One should always combine the own dataset with data from http://www.cs.uu.nl/people/henkp/mirmon/cpan.html because calculating these is an unnecessary burden.
What is missing according to this ticket is some kind of warning when a user is running against bad mirrors. I have no clear picture in mind how this might look like and how it should be implemented. I'd neither consider it trivial nor very important.