fedora-infra / mirrormanager2

Rewrite of the MirrorManager application in Flask and SQLAlchemy
https://mirrormanager.fedoraproject.org
GNU General Public License v2.0
63 stars 46 forks source link

Redirected to mirror without requested file #166

Open lubomir opened 8 years ago

lubomir commented 8 years ago

I encountered this on 2016-05-16:

  1. Go to ​https://getfedora.org/en/workstation/prerelease/
  2. Click download button pointing to https://download.fedoraproject.org/pub/fedora/linux/releases/test/24_Beta/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-24_Beta-1.6.iso
  3. Get redirected to http://mirror.vutbr.cz/fedora/releases/test/24_Beta/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-24_Beta-1.6.iso
  4. See 404 Not Found

I tried again a couple times and ultimately it sent me to a different mirror which worked fine.

http://mirror.karneval.cz/pub/linux/fedora/linux/releases/test/24_Beta/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-24_Beta-1.6.iso


Originally I opened the issue in Fedora Infrastructure trac and was sent here.

adrianreber commented 8 years ago

I am not convinced this is the right place to report this (sorry @lubomir).

Basically this situation is "works as designed". The mirror mirror.vutbr.cz uses (as recommended) _reportmirror to update their status in the MirrorManager database. _reportmirror only transfers a list of directories which are supposed to be up to date. The actual content of the directories is never submitted via _reportmirror. If I remember it correctly the reason behind this is that the amount of data would be rather large if the directory content is also submitted. So, mirrors which are using _reportmirror are working on a trust basis that they actually have the content they claim. This seems to work most of the time.

The correct fix probably requires a re-evaluation of how _reportmirror should work. We need if for private mirrors and if private mirrors submit the wrong content via _reportmirror it only affects clients from that institution. For public mirrors it is a great help to make updated mirrors faster available to all clients, but is also can lead to mirrors marked as up to date, which actually do not have the content.