poor transfer rates and broken quick-fedora-mirror #13335

Open
opened 2026-05-10 13:22:26 +00:00 by ftpadmtuc · 19 comments

Description of request

Hello,

I am one of the maintainers of fedora.tu-chemnitz.de.

We are currently struggling to keep our mirror up to date, particularly during the high-traffic periods surrounding new Fedora releases. After monitoring the download rates of dl01 to dl05 and other co-located servers, we observed that transfer speeds consistently remain below 400 KB/s for 98% of the time. Furthermore, we are seeing a high frequency of unexpectedly closed connections and drops.

Until yesterday, we used an extended version of quick-fedora-mirror, which temporarily mitigated these connection issues. However, this is no longer sufficient. After investing weeks of development into a new version of the tool, we have decided to halt that effort, as we believe these fundamental issues must be addressed on the Tier0 side.

We have identified the following critical challenges:

  1. Development Images: Daily development images should be moved to a separate server or rsync module.

Reason: Slow and unstable connections mean these large images block bandwidth for essential package updates, often failing to complete.

  1. Metadata Inconsistency: Timestamps in fulltimefilelist do not match the actual file timestamps.

  2. Partial File Handling: quick-fedora-mirror does not handle .partial files correctly. Following a connection loss, most downloads are deleted, leading to bloated transfer lists.

  3. State Tracking: The tool saves the last transfer time to a file to identify new content but fails to verify if this timestamp is accurate.

  4. Check-in Errors: The check-in URL used for the MirrorMaster is outdated.

We have consulted with other mirrors (including linux.cz and hs-esslingen.de), who confirmed they are facing identical challenges and have switched to custom rsync scripts. This shift likely leads to out-of-sync mirrors because the fulltimefilelist is no longer utilized.

On a personal and organizational note: I have invested a significant amount of time into troubleshooting this, but we are facing a severe lack of personnel resources. At this point, I can no longer justify further development or extensive troubleshooting to my superiors.

I deeply regret this situation, as we want to remain a reliable source for Tier2 mirrors. However, if we cannot ensure a stable sync from Tier0, we will be forced to reconsider our role as a mirror.

Maybe you can take a look to ftpsync of debian.

Best regards,

Patrick
Maintainer, fedora.tu-chemnitz.de

### Description of request Hello, I am one of the maintainers of fedora.tu-chemnitz.de. We are currently struggling to keep our mirror up to date, particularly during the high-traffic periods surrounding new Fedora releases. After monitoring the download rates of dl01 to dl05 and other co-located servers, we observed that transfer speeds consistently remain below 400 KB/s for 98% of the time. Furthermore, we are seeing a high frequency of unexpectedly closed connections and drops. Until yesterday, we used an extended version of quick-fedora-mirror, which temporarily mitigated these connection issues. However, this is no longer sufficient. After investing weeks of development into a new version of the tool, we have decided to halt that effort, as we believe these fundamental issues must be addressed on the Tier0 side. We have identified the following critical challenges: 1. Development Images: Daily development images should be moved to a separate server or rsync module. Reason: Slow and unstable connections mean these large images block bandwidth for essential package updates, often failing to complete. 2. Metadata Inconsistency: Timestamps in fulltimefilelist do not match the actual file timestamps. 3. Partial File Handling: quick-fedora-mirror does not handle .partial files correctly. Following a connection loss, most downloads are deleted, leading to bloated transfer lists. 4. State Tracking: The tool saves the last transfer time to a file to identify new content but fails to verify if this timestamp is accurate. 5. Check-in Errors: The check-in URL used for the MirrorMaster is outdated. We have consulted with other mirrors (including linux.cz and hs-esslingen.de), who confirmed they are facing identical challenges and have switched to custom rsync scripts. This shift likely leads to out-of-sync mirrors because the fulltimefilelist is no longer utilized. On a personal and organizational note: I have invested a significant amount of time into troubleshooting this, but we are facing a severe lack of personnel resources. At this point, I can no longer justify further development or extensive troubleshooting to my superiors. I deeply regret this situation, as we want to remain a reliable source for Tier2 mirrors. However, if we cannot ensure a stable sync from Tier0, we will be forced to reconsider our role as a mirror. Maybe you can take a look to ftpsync of debian. Best regards, Patrick Maintainer, fedora.tu-chemnitz.de
Owner

Hello. Sorry you are seeing issues here. ;(

On the slowness: Can you tell me if you are accessing via ipv4 or ipv6? We have two uplinks, so it would be good to know which one you are hitting. Perhaps you could provide a traceroute from your sync endpoint?
Can you test and see if 'download-ib01.fedoraproject.org' is any faster for you? Thats in another datacenter with different connectivity.

On the other issues... I can look, but don't see why timestamps would not be in sync, our release process updates them at the end after new content is synced. Unless you are seeing us stage content before we have updated fullfiletimelist?
In any case probibly we should make improvements on the actual upstream quick mirror if there are improvements to be had?

Thanks for working on this, and thanks for bringing it up here so we can all work on it and not cause more work for you.

Hello. Sorry you are seeing issues here. ;( On the slowness: Can you tell me if you are accessing via ipv4 or ipv6? We have two uplinks, so it would be good to know which one you are hitting. Perhaps you could provide a traceroute from your sync endpoint? Can you test and see if 'download-ib01.fedoraproject.org' is any faster for you? Thats in another datacenter with different connectivity. On the other issues... I can look, but don't see why timestamps would not be in sync, our release process updates them at the end after new content is synced. Unless you are seeing us stage content before we have updated fullfiletimelist? In any case probibly we should make improvements on the actual upstream quick mirror if there are improvements to be had? Thanks for working on this, and thanks for bringing it up here so we can all work on it and not cause more work for you.
Author

Hi Kevin,

thank you for your reply. It doesn't matter if we are using ipv4 or ipv6.

The trace of ipv4 to dl01.fedoraproject.org:

 3  c95-a13-060-xwin-c-252-22.hrz.tu-chemnitz.de (134.109.252.22)  0.331 ms  0.546 ms  0.530 ms
 4  cr-lap3-pe11398.x-win.dfn.de (188.1.235.25)  6.202 ms  8.194 ms cr-tub3-pe11554.x-win.dfn.de (188.1.230.113)  4.701 ms
 5  cr-erl3-iflag3-0.x-win.dfn.de (188.1.145.117)  10.797 ms cr-han3-iflag5-0.x-win.dfn.de (188.1.144.73)  9.112 ms  9.220 ms
 6  cr-fra3-iflag6-0.x-win.dfn.de (188.1.145.197)  14.060 ms  13.983 ms  13.956 ms
 7  de-cix-ae10.mcs1.fra6.de.zip.zayo.com (80.81.192.255)  15.399 ms *  14.891 ms
 8  ae11.cr1.fra6.de.zip.zayo.com (64.125.20.124)  99.680 ms  99.990 ms  99.989 ms
 9  ae1.cr1.ams17.nl.zip.zayo.com (64.125.24.14)  100.535 ms ae0.cr1.ams10.nl.zip.zayo.com (64.125.23.184)  97.995 ms  98.170 ms
10  ae0.cr1.ams10.nl.zip.zayo.com (64.125.23.184)  99.819 ms  99.699 ms  99.862 ms
11  * ae8.cr2.ewr14.us.zip.zayo.com (64.125.31.110)  97.871 ms *
12  * * *
13  * ae19.cr1.iad21.us.zip.zayo.com (64.125.23.39)  97.806 ms *
14  * ae18.er1.iad47.us.zip.zayo.com (64.125.29.27)  111.268 ms  98.358 ms
15  209.66.120.146.IPYX-249421-005-ZYO.zip.zayo.com (209.66.120.146)  98.068 ms  97.955 ms ae3.er1.iad47.us.zip.zayo.com (64.125.19.69)  97.757 ms
16  ae3.er1.iad47.us.zip.zayo.com (64.125.19.69)  100.538 ms  99.668 ms ae3-wasidchwjp1.lightower.net (104.207.214.103)  106.652 ms
17  ae3-wasidchwjp1.lightower.net (104.207.214.103)  107.798 ms 160.72.248.120.lightower.net (160.72.248.120)  105.297 ms 209.66.120.146.IPYX-249421-005-ZYO.zip.zayo.com (209.66.120.146)  99.758 ms
18  ae3-wasidchwjp1.lightower.net (104.207.214.103)  108.091 ms 160.72.248.123.lightower.net (160.72.248.123)  112.250 ms ae3-wasidchwjp1.lightower.net (104.207.214.103)  107.965 ms
19  160.72.248.123.lightower.net (160.72.248.123)  106.350 ms 160.72.248.120.lightower.net (160.72.248.120)  109.334 ms  108.413 ms
20  160.72.248.123.lightower.net (160.72.248.123)  108.042 ms 209.132.181.204 (209.132.181.204)  111.982 ms 160.72.248.123.lightower.net (160.72.248.123)  107.816 ms
21  67.208.169.50 (67.208.169.50)  108.131 ms  107.622 ms 209.132.181.204 (209.132.181.204)  108.208 ms
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

The trace of ipv4 to dl01.fedoraproject.org:

 3  c95-a13-060-xwin-c-252-22.hrz.tu-chemnitz.de (2001:638:911:12::1)  0.563 ms  0.548 ms  0.527 ms
 4  cr-tub3-pe11554.x-win.dfn.de (2001:638:c:a0b2::1)  6.364 ms  6.356 ms  6.337 ms
 5  cr-han3-iflag5-0.x-win.dfn.de (2001:638:c:c03b::1)  10.864 ms  10.854 ms cr-erl3-iflag3-0.x-win.dfn.de (2001:638:c:c03e::1)  6.505 ms
 6  de-cix-ae10.mcs1.fra6.de.zip.zayo.com (2001:7f8::193d:0:2)  10.915 ms  10.728 ms cr-fra3-iflag6-0.x-win.dfn.de (2001:638:c:c04d::1)  12.795 ms
 7  de-cix-ae10.mcs1.fra6.de.zip.zayo.com (2001:7f8::193d:0:2)  12.708 ms *  13.052 ms
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  2001:438:ffff::407d:1b4f (2001:438:ffff::407d:1b4f)  96.100 ms * *
15  2001:438:ffff::407d:1b4f (2001:438:ffff::407d:1b4f)  97.958 ms  97.951 ms ae3.er1.iad47.us.zip.zayo.com (2001:438:ffff::407d:1345)  96.358 ms
16  2001:438:fffe::343a (2001:438:fffe::343a)  98.740 ms  95.870 ms ae3.er1.iad47.us.zip.zayo.com (2001:438:ffff::407d:1345)  98.306 ms
17  2607:f518:1::1:a048:f878 (2607:f518:1::1:a048:f878)  102.901 ms 2001:438:fffe::343a (2001:438:fffe::343a)  97.918 ms 2607:f518:1::1:68cf:d667 (2607:f518:1::1:68cf:d667)  104.328 ms
18  2607:f518:1::1:a048:f878 (2607:f518:1::1:a048:f878)  102.844 ms  116.099 ms 2607:f518:1::1:a048:f87b (2607:f518:1::1:a048:f87b)  104.299 ms
19  2607:f518:1::1:a048:f87b (2607:f518:1::1:a048:f87b)  105.274 ms 2607:f518:1::1:a048:f878 (2607:f518:1::1:a048:f878)  105.415 ms 2607:f518:1::1:a048:f87b (2607:f518:1::1:a048:f87b)  105.382 ms
20  2605:a900:100d::1a (2605:a900:100d::1a)  105.931 ms  104.933 ms 2607:f518:1::1:a048:f87b (2607:f518:1::1:a048:f87b)  105.986 ms
21  * 2620:52:6::fd (2620:52:6::fd)  109.837 ms 2605:a900:100d::1a (2605:a900:100d::1a)  105.876 ms
22  2620:52:6::fd (2620:52:6::fd)  110.937 ms  110.332 ms *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
Hi Kevin, thank you for your reply. It doesn't matter if we are using ipv4 or ipv6. The trace of ipv4 to dl01.fedoraproject.org: ~~~ 3 c95-a13-060-xwin-c-252-22.hrz.tu-chemnitz.de (134.109.252.22) 0.331 ms 0.546 ms 0.530 ms 4 cr-lap3-pe11398.x-win.dfn.de (188.1.235.25) 6.202 ms 8.194 ms cr-tub3-pe11554.x-win.dfn.de (188.1.230.113) 4.701 ms 5 cr-erl3-iflag3-0.x-win.dfn.de (188.1.145.117) 10.797 ms cr-han3-iflag5-0.x-win.dfn.de (188.1.144.73) 9.112 ms 9.220 ms 6 cr-fra3-iflag6-0.x-win.dfn.de (188.1.145.197) 14.060 ms 13.983 ms 13.956 ms 7 de-cix-ae10.mcs1.fra6.de.zip.zayo.com (80.81.192.255) 15.399 ms * 14.891 ms 8 ae11.cr1.fra6.de.zip.zayo.com (64.125.20.124) 99.680 ms 99.990 ms 99.989 ms 9 ae1.cr1.ams17.nl.zip.zayo.com (64.125.24.14) 100.535 ms ae0.cr1.ams10.nl.zip.zayo.com (64.125.23.184) 97.995 ms 98.170 ms 10 ae0.cr1.ams10.nl.zip.zayo.com (64.125.23.184) 99.819 ms 99.699 ms 99.862 ms 11 * ae8.cr2.ewr14.us.zip.zayo.com (64.125.31.110) 97.871 ms * 12 * * * 13 * ae19.cr1.iad21.us.zip.zayo.com (64.125.23.39) 97.806 ms * 14 * ae18.er1.iad47.us.zip.zayo.com (64.125.29.27) 111.268 ms 98.358 ms 15 209.66.120.146.IPYX-249421-005-ZYO.zip.zayo.com (209.66.120.146) 98.068 ms 97.955 ms ae3.er1.iad47.us.zip.zayo.com (64.125.19.69) 97.757 ms 16 ae3.er1.iad47.us.zip.zayo.com (64.125.19.69) 100.538 ms 99.668 ms ae3-wasidchwjp1.lightower.net (104.207.214.103) 106.652 ms 17 ae3-wasidchwjp1.lightower.net (104.207.214.103) 107.798 ms 160.72.248.120.lightower.net (160.72.248.120) 105.297 ms 209.66.120.146.IPYX-249421-005-ZYO.zip.zayo.com (209.66.120.146) 99.758 ms 18 ae3-wasidchwjp1.lightower.net (104.207.214.103) 108.091 ms 160.72.248.123.lightower.net (160.72.248.123) 112.250 ms ae3-wasidchwjp1.lightower.net (104.207.214.103) 107.965 ms 19 160.72.248.123.lightower.net (160.72.248.123) 106.350 ms 160.72.248.120.lightower.net (160.72.248.120) 109.334 ms 108.413 ms 20 160.72.248.123.lightower.net (160.72.248.123) 108.042 ms 209.132.181.204 (209.132.181.204) 111.982 ms 160.72.248.123.lightower.net (160.72.248.123) 107.816 ms 21 67.208.169.50 (67.208.169.50) 108.131 ms 107.622 ms 209.132.181.204 (209.132.181.204) 108.208 ms 22 * * * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * * ~~~ The trace of ipv4 to dl01.fedoraproject.org: ~~~ 3 c95-a13-060-xwin-c-252-22.hrz.tu-chemnitz.de (2001:638:911:12::1) 0.563 ms 0.548 ms 0.527 ms 4 cr-tub3-pe11554.x-win.dfn.de (2001:638:c:a0b2::1) 6.364 ms 6.356 ms 6.337 ms 5 cr-han3-iflag5-0.x-win.dfn.de (2001:638:c:c03b::1) 10.864 ms 10.854 ms cr-erl3-iflag3-0.x-win.dfn.de (2001:638:c:c03e::1) 6.505 ms 6 de-cix-ae10.mcs1.fra6.de.zip.zayo.com (2001:7f8::193d:0:2) 10.915 ms 10.728 ms cr-fra3-iflag6-0.x-win.dfn.de (2001:638:c:c04d::1) 12.795 ms 7 de-cix-ae10.mcs1.fra6.de.zip.zayo.com (2001:7f8::193d:0:2) 12.708 ms * 13.052 ms 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 * * * 14 2001:438:ffff::407d:1b4f (2001:438:ffff::407d:1b4f) 96.100 ms * * 15 2001:438:ffff::407d:1b4f (2001:438:ffff::407d:1b4f) 97.958 ms 97.951 ms ae3.er1.iad47.us.zip.zayo.com (2001:438:ffff::407d:1345) 96.358 ms 16 2001:438:fffe::343a (2001:438:fffe::343a) 98.740 ms 95.870 ms ae3.er1.iad47.us.zip.zayo.com (2001:438:ffff::407d:1345) 98.306 ms 17 2607:f518:1::1:a048:f878 (2607:f518:1::1:a048:f878) 102.901 ms 2001:438:fffe::343a (2001:438:fffe::343a) 97.918 ms 2607:f518:1::1:68cf:d667 (2607:f518:1::1:68cf:d667) 104.328 ms 18 2607:f518:1::1:a048:f878 (2607:f518:1::1:a048:f878) 102.844 ms 116.099 ms 2607:f518:1::1:a048:f87b (2607:f518:1::1:a048:f87b) 104.299 ms 19 2607:f518:1::1:a048:f87b (2607:f518:1::1:a048:f87b) 105.274 ms 2607:f518:1::1:a048:f878 (2607:f518:1::1:a048:f878) 105.415 ms 2607:f518:1::1:a048:f87b (2607:f518:1::1:a048:f87b) 105.382 ms 20 2605:a900:100d::1a (2605:a900:100d::1a) 105.931 ms 104.933 ms 2607:f518:1::1:a048:f87b (2607:f518:1::1:a048:f87b) 105.986 ms 21 * 2620:52:6::fd (2620:52:6::fd) 109.837 ms 2605:a900:100d::1a (2605:a900:100d::1a) 105.876 ms 22 2620:52:6::fd (2620:52:6::fd) 110.937 ms 110.332 ms * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * * ~~~
Author

Attached the Statistics we got, yesterday with poor rates and today with better rates.

Attached the Statistics we got, yesterday with poor rates and today with better rates.
Author

Example grub.cfg for fullfiletimelist-fedora, resolved: Fr 6. Mär 15:59:47 CET 2026

1772809187      f       1500    linux/releases/test/44_Beta/COSMIC-Atomic/x86_64/os/boot/grub2/grub.cfg

But the stat of file shows:

  File: linux/releases/test/44_Beta/COSMIC-Atomic/x86_64/os/boot/grub2/grub.cfg
  Size: 1500            Blocks: 3          IO Block: 4194304 regular file
Device: 0,47    Inode: 1099928412560  Links: 1
Access: (0644/-rw-r--r--)  Uid: (  263/ UNKNOWN)   Gid: (  263/ UNKNOWN)
Access: 2026-03-06 19:07:21.785874589 +0100
Modify: 2026-02-28 10:25:43.392694000 +0100
Change: 2026-05-12 03:43:26.350148337 +0200
 Birth: 2026-03-06 19:07:21.785874589 +0100

So my question is: what is this timestamp based on, and how should it be used? I would determine whether a file is up to date based on whether the mtime matches.

Example `grub.cfg` for fullfiletimelist-fedora, resolved: `Fr 6. Mär 15:59:47 CET 2026` ``` 1772809187 f 1500 linux/releases/test/44_Beta/COSMIC-Atomic/x86_64/os/boot/grub2/grub.cfg ``` But the stat of file shows: ``` File: linux/releases/test/44_Beta/COSMIC-Atomic/x86_64/os/boot/grub2/grub.cfg Size: 1500 Blocks: 3 IO Block: 4194304 regular file Device: 0,47 Inode: 1099928412560 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 263/ UNKNOWN) Gid: ( 263/ UNKNOWN) Access: 2026-03-06 19:07:21.785874589 +0100 Modify: 2026-02-28 10:25:43.392694000 +0100 Change: 2026-05-12 03:43:26.350148337 +0200 Birth: 2026-03-06 19:07:21.785874589 +0100 ``` So my question is: what is this timestamp based on, and how should it be used? I would determine whether a file is up to date based on whether the mtime matches.
Owner

ok, thanks for info.

  1. Do you see any difference between dl.fedoraproject.org (which resolves to dl01/dl02/dl03, ie the open master mirrors) and dl-tier1.fedoraproject.org (which should resolve to dl04/05, the 'private' master mirrors). dl04/05 should be less nosiy, they only have traffic from mirrors in the acls.
  2. Sadly, I can't show you the stat of that file because releng just did the cleanup of beta content for f44, so that entire tree is gone now. ;( Can you show other examples? The timestamp there is the timestamp of the file on the master mirrors

The basic idea of quick-mirror is to save us from the stat storms that regular rsync does. So:

  • rsync connects, asks master mirror: stat every file you have and send me the list so I can tell what I need to sync. This causes a long delay and tons of stats of files and a gigantic list sent, then the client might say "oh, I am all up to date, thanks!" and have wasted all that time/io.
  • quick mirror connects, checks if the fullfiletimelists files are newer than the ones it has. If not, 'up to date, thanks'. If they are, it copies just them, then uses the stats in there to check against it's local files and connects back with rsync and says to the master mirror: "hey, I need this specific list of files. please transfer all those to me" and only those changed/new files are transfered.

It's really a big win for transferring.

I think the problems you are seeing are at somehow a network or transit layer, not quick mirror, but I could be wrong. Thanks for working through this and trying to track it down.

Did you get a chance to try download-ib01? That would be another good datapoint as to if it's the network path or something else.

ok, thanks for info. 1. Do you see any difference between dl.fedoraproject.org (which resolves to dl01/dl02/dl03, ie the open master mirrors) and dl-tier1.fedoraproject.org (which should resolve to dl04/05, the 'private' master mirrors). dl04/05 should be less nosiy, they only have traffic from mirrors in the acls. 2. Sadly, I can't show you the stat of that file because releng just did the cleanup of beta content for f44, so that entire tree is gone now. ;( Can you show other examples? The timestamp there is the timestamp of the file _on the master mirrors_ The basic idea of quick-mirror is to save us from the stat storms that regular rsync does. So: - rsync connects, asks master mirror: stat every file you have and send me the list so I can tell what I need to sync. This causes a long delay and tons of stats of files and a gigantic list sent, then the client might say "oh, I am all up to date, thanks!" and have wasted all that time/io. - quick mirror connects, checks if the fullfiletimelists files are newer than the ones it has. If not, 'up to date, thanks'. If they are, it copies just them, then uses the stats in there to check against it's local files and connects back with rsync and says to the master mirror: "hey, I need this specific list of files. please transfer all those to me" and only those changed/new files are transfered. It's really a big win for transferring. I think the problems you are seeing are at somehow a network or transit layer, not quick mirror, but I could be wrong. Thanks for working through this and trying to track it down. Did you get a chance to try download-ib01? That would be another good datapoint as to if it's the network path or something else.
Author

@kevin wrote in #13335 (comment):

ok, thanks for info.

  1. Do you see any difference between dl.fedoraproject.org (which resolves to dl01/dl02/dl03, ie the open master mirrors) and dl-tier1.fedoraproject.org (which should resolve to dl04/05, the 'private' master mirrors). dl04/05 should be less nosiy, they only have traffic from mirrors in the acls.

The mean speed over the last 7 days, resulting :
dl01.fedoraproject.org: 31.1 kB/s
dl02.fedoraproject.org: 73.2 kB/s
dl03.fedoraproject.org: 43.8 kB/s
dl04.fedoraproject.org: 71.5 kB/s
dl05.fedoraproject.org: 73.9 kB/s
download-cc-rdu01.fedoraproject.org: 30.6 kB/s
download-ib01.fedoraproject.org: 17.4 kB/s

dl04 and dl05 are a little bit faster, cause of higher peaks.

  1. Sadly, I can't show you the stat of that file because releng just did the cleanup of beta content for f44, so that entire tree is gone now. ;( Can you show other examples? The timestamp there is the timestamp of the file on the master mirrors

fulltimefilelist

1777026319      f       1465    linux/releases/44/Everything/x86_64/os/boot/grub2/grub.cfg
1777026371      f       1490    linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg
$> date -d @1777026319
Fr 24. Apr 12:25:19 CEST 2026
$> stat linux/releases/44/Everything/x86_64/os/boot/grub2/grub.cfg`
  File: linux/releases/44/Everything/x86_64/os/boot/grub2/grub.cfg
  Size: 1465            Blocks: 3          IO Block: 4194304 regular file
Device: 0,47    Inode: 1099939091703  Links: 1
Access: (0644/-rw-r--r--)  Uid: (  263/ UNKNOWN)   Gid: (  263/ UNKNOWN)
Access: 2026-04-27 00:25:49.660856951 +0200
Modify: 2026-04-22 15:38:48.184979000 +0200
Change: 2026-05-13 09:09:11.833612217 +0200
 Birth: 2026-04-27 00:25:49.660856951 +0200
$> date -d @1777026371
Fr 24. Apr 12:26:11 CEST 2026
$> stat  linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg`
  File: linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg
  Size: 1490            Blocks: 3          IO Block: 4194304 regular file
Device: 0,47    Inode: 1099939091936  Links: 1
Access: (0644/-rw-r--r--)  Uid: (  263/ UNKNOWN)   Gid: (  263/ UNKNOWN)
Access: 2026-04-27 00:43:24.763337100 +0200
Modify: 2026-04-22 16:30:18.734089000 +0200
Change: 2026-05-13 05:59:58.663932365 +0200
 Birth: 2026-04-27 00:43:24.763337100 +0200

The basic idea of quick-mirror is to save us from the stat storms that regular rsync does. So:

  • rsync connects, asks master mirror: stat every file you have and send me the list so I can tell what I need to sync. This causes a long delay and tons of stats of files and a gigantic list sent, then the client might say "oh, I am all up to date, thanks!" and have wasted all that time/io.
  • quick mirror connects, checks if the fullfiletimelists files are newer than the ones it has. If not, 'up to date, thanks'. If they are, it copies just them, then uses the stats in there to check against it's local files and connects back with rsync and says to the master mirror: "hey, I need this specific list of files. please transfer all those to me" and only those changed/new files are transfered.

It's really a big win for transferring.

Yes, of course! I’m aware of the benefits, which is why we used “quick-fedora-mirror” until Saturday. However, over the past few years, we’ve encountered some issues with the script, which were likely due to poor data transfer rates, especially around release times.

Transfers became slow, connections dropped, and completed transfers remained in the .tmp directory and were discarded the next time quick-fedora-mirror was started. As a result, the list of files to be transferred kept growing. Since quick-fedora-mirror supports only one mirror, you are limited to a slow mirror during the transfer. And as a result, recurring connection drops lead to an ever-growing list of files, that needs to download.

Another effect we found, the repomd.xml stopped syncing on 30. April, maybe the reason was, that the timestamp in the "$TIMEFILE" was somehow newer then the timestamp in the fullfiletimelist.

Checkin to mirrormaster did not work.

The "Exclude" option deletes files, so it is not possible to synchronize images and packages separately using quick-fedora-mirror.

A short list of troubleshooting:

  • May 2023: Split monolithic sync job in two parts: one for fedora-enchilada and one for epel.
  • Aug 2023: changed dl-tier1.fedoraproject.org to download-ib01.fedoraproject.org
  • May 2025: created a script that replaced the rsync-part in quickfedoramirror, so it was possible to download parallel from multiple mirrors, but quick-fedora-mirror was still used to build the transfer list
  • March 2026: began rewriting an own quick-fedora-mirror fork, to build localfilelist to compare filesize, timestamps, checksums with fulltimefilelist and splitting the resulting transferlist in multiple batches for parallel download. Improved filtering, so we are able to sync images seperatly

Do you track how many Upstream Servers using quick-fedora-mirror? Maybe some servers do bare rsync (as we do since saturday) and so free connections are blocked (as you told).

I think the problems you are seeing are at somehow a network or transit layer, not quick mirror, but I could be wrong. Thanks for working through this and trying to track it down.

Did you get a chance to try download-ib01? That would be another good datapoint as to if it's the network path or something else.

Yes we did, see above.

@kevin wrote in https://forge.fedoraproject.org/infra/tickets/issues/13335#issuecomment-710659: > ok, thanks for info. > > 1. Do you see any difference between dl.fedoraproject.org (which resolves to dl01/dl02/dl03, ie the open master mirrors) and dl-tier1.fedoraproject.org (which should resolve to dl04/05, the 'private' master mirrors). dl04/05 should be less nosiy, they only have traffic from mirrors in the acls. The mean speed over the last 7 days, resulting : dl01.fedoraproject.org: 31.1 kB/s dl02.fedoraproject.org: 73.2 kB/s dl03.fedoraproject.org: 43.8 kB/s dl04.fedoraproject.org: 71.5 kB/s dl05.fedoraproject.org: 73.9 kB/s download-cc-rdu01.fedoraproject.org: 30.6 kB/s download-ib01.fedoraproject.org: 17.4 kB/s dl04 and dl05 are a little bit faster, cause of higher peaks. > 2. Sadly, I can't show you the stat of that file because releng just did the cleanup of beta content for f44, so that entire tree is gone now. ;( Can you show other examples? The timestamp there is the timestamp of the file _on the master mirrors_ fulltimefilelist ``` 1777026319 f 1465 linux/releases/44/Everything/x86_64/os/boot/grub2/grub.cfg 1777026371 f 1490 linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg ``` ``` $> date -d @1777026319 Fr 24. Apr 12:25:19 CEST 2026 $> stat linux/releases/44/Everything/x86_64/os/boot/grub2/grub.cfg` File: linux/releases/44/Everything/x86_64/os/boot/grub2/grub.cfg Size: 1465 Blocks: 3 IO Block: 4194304 regular file Device: 0,47 Inode: 1099939091703 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 263/ UNKNOWN) Gid: ( 263/ UNKNOWN) Access: 2026-04-27 00:25:49.660856951 +0200 Modify: 2026-04-22 15:38:48.184979000 +0200 Change: 2026-05-13 09:09:11.833612217 +0200 Birth: 2026-04-27 00:25:49.660856951 +0200 ``` ``` $> date -d @1777026371 Fr 24. Apr 12:26:11 CEST 2026 $> stat linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg` File: linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg Size: 1490 Blocks: 3 IO Block: 4194304 regular file Device: 0,47 Inode: 1099939091936 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 263/ UNKNOWN) Gid: ( 263/ UNKNOWN) Access: 2026-04-27 00:43:24.763337100 +0200 Modify: 2026-04-22 16:30:18.734089000 +0200 Change: 2026-05-13 05:59:58.663932365 +0200 Birth: 2026-04-27 00:43:24.763337100 +0200 ``` > The basic idea of quick-mirror is to save us from the stat storms that regular rsync does. So: > > * rsync connects, asks master mirror: stat every file you have and send me the list so I can tell what I need to sync. This causes a long delay and tons of stats of files and a gigantic list sent, then the client might say "oh, I am all up to date, thanks!" and have wasted all that time/io. > * quick mirror connects, checks if the fullfiletimelists files are newer than the ones it has. If not, 'up to date, thanks'. If they are, it copies just them, then uses the stats in there to check against it's local files and connects back with rsync and says to the master mirror: "hey, I need this specific list of files. please transfer all those to me" and only those changed/new files are transfered. > > It's really a big win for transferring. Yes, of course! I’m aware of the benefits, which is why we used “quick-fedora-mirror” until Saturday. However, over the past few years, we’ve encountered some issues with the script, which were likely due to poor data transfer rates, especially around release times. Transfers became slow, connections dropped, and completed transfers remained in the .~tmp~ directory and were discarded the next time quick-fedora-mirror was started. As a result, the list of files to be transferred kept growing. Since quick-fedora-mirror supports only one mirror, you are limited to a slow mirror during the transfer. And as a result, recurring connection drops lead to an ever-growing list of files, that needs to download. Another effect we found, the repomd.xml stopped syncing on 30. April, maybe the reason was, that the timestamp in the "$TIMEFILE" was somehow newer then the timestamp in the fullfiletimelist. Checkin to mirrormaster did not work. The "Exclude" option deletes files, so it is not possible to synchronize images and packages separately using quick-fedora-mirror. A short list of troubleshooting: - May 2023: Split monolithic sync job in two parts: one for fedora-enchilada and one for epel. - Aug 2023: changed dl-tier1.fedoraproject.org to download-ib01.fedoraproject.org - May 2025: created a script that replaced the rsync-part in quickfedoramirror, so it was possible to download parallel from multiple mirrors, but quick-fedora-mirror was still used to build the transfer list - March 2026: began rewriting an own quick-fedora-mirror fork, to build localfilelist to compare filesize, timestamps, checksums with fulltimefilelist and splitting the resulting transferlist in multiple batches for parallel download. Improved filtering, so we are able to sync images seperatly Do you track how many Upstream Servers using quick-fedora-mirror? Maybe some servers do bare rsync (as we do since saturday) and so free connections are blocked (as you told). > > I think the problems you are seeing are at somehow a network or transit layer, not quick mirror, but I could be wrong. Thanks for working through this and trying to track it down. > > Did you get a chance to try download-ib01? That would be another good datapoint as to if it's the network path or something else. Yes we did, see above.
Owner

dl05% stat /srv/pub/fedora/linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg
File: /srv/pub/fedora/linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg
Size: 1490 Blocks: 8 IO Block: 65536 regular file
Device: 0,63 Inode: 5516910 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 263/ UNKNOWN) Gid: ( 263/ UNKNOWN)
Context: system_u:object_r:nfs_t:s0
Access: 2026-05-13 18:55:15.433537000 +0000
Modify: 2026-04-22 14:30:18.734089000 +0000
Change: 2026-04-24 10:26:11.250836000 +0000
Birth: -

So the change time matches as expected on the actual master mirror.

Another effect we found, the repomd.xml stopped syncing on 30. April, maybe the reason was, that the timestamp in the "$TIMEFILE" was somehow newer then the timestamp in the fullfiletimelist.

Which repomd.xml? Note that repomd.xml files are 'special' in that they also get checksums included.
I've not heard any reports of other mirrors seeing that, or the other mirrors we run that use quick-mirror-fedora.

Checkin to mirrormaster did not work.

checkins are only supported for private mirrors, and they changed a while back from xmlrpc to rest I think.
public mirrors shouldn't need to check in as far as I know.

Do you track how many Upstream Servers using quick-fedora-mirror? Maybe some servers do bare rsync (as we do since saturday) and so free connections are blocked (as you told).

Sadly, I don't think there's any way for us to know. quick-fedora-mirror and rsync look identical from the server side. ;(
I can look and see if we are hitting rsync server limits, but if we are, you would just get a reject not slowness...

So, this slowness seems like a network issue upstream of us. I can ask our networking folks if there is anything they could do, perhaps they can adjust so traffic from you goes over our other link. Can you provide also a traceroute to download-ib01? That might tell us what provider/network might be involved here (since it's also slow for you).

I guess I can also press for a .eu master mirror, but I am not sure where we could locate it. If we don't do archive, perhaps we could do something in a cloud provider (as long as we can sync to it with reasonable speed).

dl05% stat /srv/pub/fedora/linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg File: /srv/pub/fedora/linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg Size: 1490 Blocks: 8 IO Block: 65536 regular file Device: 0,63 Inode: 5516910 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 263/ UNKNOWN) Gid: ( 263/ UNKNOWN) Context: system_u:object_r:nfs_t:s0 Access: 2026-05-13 18:55:15.433537000 +0000 Modify: 2026-04-22 14:30:18.734089000 +0000 Change: 2026-04-24 10:26:11.250836000 +0000 Birth: - So the change time matches as expected on the actual master mirror. > Another effect we found, the repomd.xml stopped syncing on 30. April, maybe the reason was, that the timestamp in the "$TIMEFILE" was somehow newer then the timestamp in the fullfiletimelist. Which repomd.xml? Note that repomd.xml files are 'special' in that they also get checksums included. I've not heard any reports of other mirrors seeing that, or the other mirrors we run that use quick-mirror-fedora. > Checkin to mirrormaster did not work. checkins are only supported for private mirrors, and they changed a while back from xmlrpc to rest I think. public mirrors shouldn't need to check in as far as I know. > Do you track how many Upstream Servers using quick-fedora-mirror? Maybe some servers do bare rsync (as we do since saturday) and so free connections are blocked (as you told). Sadly, I don't think there's any way for us to know. quick-fedora-mirror and rsync look identical from the server side. ;( I can look and see if we are hitting rsync server limits, but if we are, you would just get a reject not slowness... So, this slowness seems like a network issue upstream of us. I can ask our networking folks if there is anything they could do, perhaps they can adjust so traffic from you goes over our other link. Can you provide also a traceroute to download-ib01? That might tell us what provider/network might be involved here (since it's also slow for you). I guess I can also press for a .eu master mirror, but I am not sure where we could locate it. If we don't do archive, perhaps we could do something in a cloud provider (as long as we can sync to it with reasonable speed).
Author

@kevin wrote in #13335 (comment):

dl05% stat /srv/pub/fedora/linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg File: /srv/pub/fedora/linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg Size: 1490 Blocks: 8 IO Block: 65536 regular file Device: 0,63 Inode: 5516910 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 263/ UNKNOWN) Gid: ( 263/ UNKNOWN) Context: system_u:object_r:nfs_t:s0 Access: 2026-05-13 18:55:15.433537000 +0000 Modify: 2026-04-22 14:30:18.734089000 +0000 Change: 2026-04-24 10:26:11.250836000 +0000 Birth: -

So the change time matches as expected on the actual master mirror.

Did you compare the changetime from the file to the changetime in fulltimelist?

Another effect we found, the repomd.xml stopped syncing on 30. April, maybe the reason was, that the timestamp in the "$TIMEFILE" was somehow newer then the timestamp in the fullfiletimelist.

Which repomd.xml? Note that repomd.xml files are 'special' in that they also get checksums included. I've not heard any reports of other mirrors seeing that, or the other mirrors we run that use quick-mirror-fedora.

Checkin to mirrormaster did not work.

checkins are only supported for private mirrors, and they changed a while back from xmlrpc to rest I think. public mirrors shouldn't need to check in as far as I know.

Do you have anything similar to: https://mirror-master.debian.org/status/mirror-hierarchy.html to detect outdated mirrors?

Do you track how many Upstream Servers using quick-fedora-mirror? Maybe some servers do bare rsync (as we do since saturday) and so free connections are blocked (as you told).

Sadly, I don't think there's any way for us to know. quick-fedora-mirror and rsync look identical from the server side. ;( I can look and see if we are hitting rsync server limits, but if we are, you would just get a reject not slowness...

We also get rejected sometimes. If I have more time i can update our scripts to track connection rejects.

So, this slowness seems like a network issue upstream of us. I can ask our networking folks if there is anything they could do, perhaps they can adjust so traffic from you goes over our other link. Can you provide also a traceroute to download-ib01? That might tell us what provider/network might be involved here (since it's also slow for you).

I guess I can also press for a .eu master mirror, but I am not sure where we could locate it. If we don't do archive, perhaps we could do something in a cloud provider (as long as we can sync to it with reasonable speed).

 3  c95-a13-060-xwin-c-252-22.hrz.tu-chemnitz.de (134.109.252.22)  0.474 ms  0.455 ms  0.434 ms
 4  cr-lap3-pe11398.x-win.dfn.de (188.1.235.25)  6.210 ms cr-tub3-pe11554.x-win.dfn.de (188.1.230.113)  4.522 ms  5.261 ms
 5  pr-hws3-iflag6-0.x-win.dfn.de (188.1.144.226)  14.507 ms cr-tub3-iflag3-0.x-win.dfn.de (188.1.145.2)  6.242 ms  6.224 ms
 6  pr-hws3-iflag6-0.x-win.dfn.de (188.1.144.226)  17.227 ms  16.326 ms  16.295 ms
 7  * * *
 8  lag-4-0.rt0.lon.uk.geant.net (62.40.98.23)  25.756 ms lag-9-0.rt0.ams.nl.geant.net (62.40.98.66)  22.693 ms lag-4-0.rt0.lon.uk.geant.net (62.40.98.23)  25.732 ms
 9  lag-4-0.rt0.lon.uk.geant.net (62.40.98.23)  27.445 ms  27.402 ms internet2-nea3r-gw.rt0.lon.uk.geant.net (62.40.125.18)  96.567 ms
10  fourhundredge-0-0-0-2.4079.core1.ashb.net.internet2.edu (163.253.1.116)  108.569 ms  108.537 ms internet2-nea3r-gw.rt0.lon.uk.geant.net (62.40.125.18)  99.245 ms
11  fourhundredge-0-0-0-6.4079.core1.rale.net.internet2.edu (163.253.1.155)  107.598 ms fourhundredge-0-0-0-2.4079.core1.ashb.net.internet2.edu (163.253.1.116)  110.659 ms fourhundredge-0-0-0-6.4079.core1.rale.net.internet2.edu (163.253.1.155)  108.861 ms
12  fourhundredge-0-0-0-6.4079.core1.rale.net.internet2.edu (163.253.1.155)  108.852 ms 198.71.46.186 (198.71.46.186)  107.108 ms  107.785 ms
13  ws-gw-to-rtp-gw.ncren.net (128.109.9.34)  110.589 ms 198.71.46.186 (198.71.46.186)  108.625 ms ws-gw-to-rtp-gw.ncren.net (128.109.9.34)  110.559 ms
14  uncphillips-to-ws-gw.ncren.net (128.109.1.90)  114.827 ms  114.567 ms  114.540 ms
15  uncphillips-to-ws-gw.ncren.net (128.109.1.90)  116.073 ms core-p-v1213.net.unc.edu (152.2.255.66)  114.844 ms  114.655 ms
16  core-p-v1213.net.unc.edu (152.2.255.66)  116.110 ms core-m-v1528.net.unc.edu (152.2.255.166)  114.207 ms  114.311 ms
17  core-m-v1528.net.unc.edu (152.2.255.166)  116.650 ms  115.976 ms *
18  152.2.23.106 (152.2.23.106)  112.388 ms !X  111.767 ms !X  111.523 ms !X

 3  c95-a13-060-xwin-c-252-22.hrz.tu-chemnitz.de (2001:638:911:12::1)  0.727 ms  0.814 ms  0.796 ms
 4  cr-tub3-pe11554.x-win.dfn.de (2001:638:c:a0b2::1)  6.232 ms  6.215 ms cr-lap3-pe11398.x-win.dfn.de (2001:638:c:a0b3::1)  2.393 ms
 5  pr-hws3-iflag6-0.x-win.dfn.de (2001:638:c:c053::2)  16.108 ms  16.083 ms cr-tub3-iflag3-0.x-win.dfn.de (2001:638:c:c03c::2)  8.992 ms
 6  pr-hws3-iflag6-0.x-win.dfn.de (2001:638:c:c053::2)  19.035 ms  17.670 ms  17.764 ms
 7  lag-9-0.rt0.ams.nl.geant.net (2001:798:cc:1::d1)  19.938 ms  20.119 ms  20.103 ms
 8  lag-9-0.rt0.ams.nl.geant.net (2001:798:cc:1::d1)  21.514 ms lag-4-0.rt0.lon.uk.geant.net (2001:798:cc::26)  27.374 ms lag-9-0.rt0.ams.nl.geant.net (2001:798:cc:1::d1)  22.291 ms
 9  * * *
10  * fourhundredge-0-0-0-2.4079.core1.ashb.net.internet2.edu (2001:468:0:1::74)  108.686 ms  108.616 ms
11  * fourhundredge-0-0-0-2.4079.core1.ashb.net.internet2.edu (2001:468:0:1::74)  110.452 ms  110.543 ms
12  2001:468:9:20d::2 (2001:468:9:20d::2)  106.072 ms  106.068 ms  106.137 ms
13  2001:468:9:20d::2 (2001:468:9:20d::2)  107.397 ms 2600:2700:201:3::3 (2600:2700:201:3::3)  106.904 ms  106.784 ms
14  core-m-v1214.net.unc.edu (2610:28:3090:301::2)  109.916 ms 2600:2700:201:3::3 (2600:2700:201:3::3)  108.298 ms  108.493 ms
15  core-m-v1214.net.unc.edu (2610:28:3090:301::2)  111.314 ms mk-to-el-loco-v1627-int2.net.unc.edu (2610:28:3090:24::2)  109.010 ms  109.305 ms
16  * * mk-to-el-loco-v1627-int2.net.unc.edu (2610:28:3090:24::2)  110.558 ms
17  2606:f640:6000:651::10 (2606:f640:6000:651::10)  106.348 ms !X  106.481 ms !X  106.371 ms !X

I contacted Jan of muni.cz and Adrian hs-esslingen to share their experiences, maybe its a peering issue.

@kevin wrote in https://forge.fedoraproject.org/infra/tickets/issues/13335#issuecomment-711103: > dl05% stat /srv/pub/fedora/linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg File: /srv/pub/fedora/linux/releases/44/Kinoite/x86_64/os/boot/grub2/grub.cfg Size: 1490 Blocks: 8 IO Block: 65536 regular file Device: 0,63 Inode: 5516910 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 263/ UNKNOWN) Gid: ( 263/ UNKNOWN) Context: system_u:object_r:nfs_t:s0 Access: 2026-05-13 18:55:15.433537000 +0000 Modify: 2026-04-22 14:30:18.734089000 +0000 Change: 2026-04-24 10:26:11.250836000 +0000 Birth: - > > So the change time matches as expected on the actual master mirror. Did you compare the changetime from the file to the changetime in fulltimelist? > > Another effect we found, the repomd.xml stopped syncing on 30. April, maybe the reason was, that the timestamp in the "$TIMEFILE" was somehow newer then the timestamp in the fullfiletimelist. > > Which repomd.xml? Note that repomd.xml files are 'special' in that they also get checksums included. I've not heard any reports of other mirrors seeing that, or the other mirrors we run that use quick-mirror-fedora. > > > Checkin to mirrormaster did not work. > > checkins are only supported for private mirrors, and they changed a while back from xmlrpc to rest I think. public mirrors shouldn't need to check in as far as I know. Do you have anything similar to: https://mirror-master.debian.org/status/mirror-hierarchy.html to detect outdated mirrors? > > > Do you track how many Upstream Servers using quick-fedora-mirror? Maybe some servers do bare rsync (as we do since saturday) and so free connections are blocked (as you told). > > Sadly, I don't think there's any way for us to know. quick-fedora-mirror and rsync look identical from the server side. ;( I can look and see if we are hitting rsync server limits, but if we are, you would just get a reject not slowness... We also get rejected sometimes. If I have more time i can update our scripts to track connection rejects. > > So, this slowness seems like a network issue upstream of us. I can ask our networking folks if there is anything they could do, perhaps they can adjust so traffic from you goes over our other link. Can you provide also a traceroute to download-ib01? That might tell us what provider/network might be involved here (since it's also slow for you). > > I guess I can also press for a .eu master mirror, but I am not sure where we could locate it. If we don't do archive, perhaps we could do something in a cloud provider (as long as we can sync to it with reasonable speed). ``` 3 c95-a13-060-xwin-c-252-22.hrz.tu-chemnitz.de (134.109.252.22) 0.474 ms 0.455 ms 0.434 ms 4 cr-lap3-pe11398.x-win.dfn.de (188.1.235.25) 6.210 ms cr-tub3-pe11554.x-win.dfn.de (188.1.230.113) 4.522 ms 5.261 ms 5 pr-hws3-iflag6-0.x-win.dfn.de (188.1.144.226) 14.507 ms cr-tub3-iflag3-0.x-win.dfn.de (188.1.145.2) 6.242 ms 6.224 ms 6 pr-hws3-iflag6-0.x-win.dfn.de (188.1.144.226) 17.227 ms 16.326 ms 16.295 ms 7 * * * 8 lag-4-0.rt0.lon.uk.geant.net (62.40.98.23) 25.756 ms lag-9-0.rt0.ams.nl.geant.net (62.40.98.66) 22.693 ms lag-4-0.rt0.lon.uk.geant.net (62.40.98.23) 25.732 ms 9 lag-4-0.rt0.lon.uk.geant.net (62.40.98.23) 27.445 ms 27.402 ms internet2-nea3r-gw.rt0.lon.uk.geant.net (62.40.125.18) 96.567 ms 10 fourhundredge-0-0-0-2.4079.core1.ashb.net.internet2.edu (163.253.1.116) 108.569 ms 108.537 ms internet2-nea3r-gw.rt0.lon.uk.geant.net (62.40.125.18) 99.245 ms 11 fourhundredge-0-0-0-6.4079.core1.rale.net.internet2.edu (163.253.1.155) 107.598 ms fourhundredge-0-0-0-2.4079.core1.ashb.net.internet2.edu (163.253.1.116) 110.659 ms fourhundredge-0-0-0-6.4079.core1.rale.net.internet2.edu (163.253.1.155) 108.861 ms 12 fourhundredge-0-0-0-6.4079.core1.rale.net.internet2.edu (163.253.1.155) 108.852 ms 198.71.46.186 (198.71.46.186) 107.108 ms 107.785 ms 13 ws-gw-to-rtp-gw.ncren.net (128.109.9.34) 110.589 ms 198.71.46.186 (198.71.46.186) 108.625 ms ws-gw-to-rtp-gw.ncren.net (128.109.9.34) 110.559 ms 14 uncphillips-to-ws-gw.ncren.net (128.109.1.90) 114.827 ms 114.567 ms 114.540 ms 15 uncphillips-to-ws-gw.ncren.net (128.109.1.90) 116.073 ms core-p-v1213.net.unc.edu (152.2.255.66) 114.844 ms 114.655 ms 16 core-p-v1213.net.unc.edu (152.2.255.66) 116.110 ms core-m-v1528.net.unc.edu (152.2.255.166) 114.207 ms 114.311 ms 17 core-m-v1528.net.unc.edu (152.2.255.166) 116.650 ms 115.976 ms * 18 152.2.23.106 (152.2.23.106) 112.388 ms !X 111.767 ms !X 111.523 ms !X 3 c95-a13-060-xwin-c-252-22.hrz.tu-chemnitz.de (2001:638:911:12::1) 0.727 ms 0.814 ms 0.796 ms 4 cr-tub3-pe11554.x-win.dfn.de (2001:638:c:a0b2::1) 6.232 ms 6.215 ms cr-lap3-pe11398.x-win.dfn.de (2001:638:c:a0b3::1) 2.393 ms 5 pr-hws3-iflag6-0.x-win.dfn.de (2001:638:c:c053::2) 16.108 ms 16.083 ms cr-tub3-iflag3-0.x-win.dfn.de (2001:638:c:c03c::2) 8.992 ms 6 pr-hws3-iflag6-0.x-win.dfn.de (2001:638:c:c053::2) 19.035 ms 17.670 ms 17.764 ms 7 lag-9-0.rt0.ams.nl.geant.net (2001:798:cc:1::d1) 19.938 ms 20.119 ms 20.103 ms 8 lag-9-0.rt0.ams.nl.geant.net (2001:798:cc:1::d1) 21.514 ms lag-4-0.rt0.lon.uk.geant.net (2001:798:cc::26) 27.374 ms lag-9-0.rt0.ams.nl.geant.net (2001:798:cc:1::d1) 22.291 ms 9 * * * 10 * fourhundredge-0-0-0-2.4079.core1.ashb.net.internet2.edu (2001:468:0:1::74) 108.686 ms 108.616 ms 11 * fourhundredge-0-0-0-2.4079.core1.ashb.net.internet2.edu (2001:468:0:1::74) 110.452 ms 110.543 ms 12 2001:468:9:20d::2 (2001:468:9:20d::2) 106.072 ms 106.068 ms 106.137 ms 13 2001:468:9:20d::2 (2001:468:9:20d::2) 107.397 ms 2600:2700:201:3::3 (2600:2700:201:3::3) 106.904 ms 106.784 ms 14 core-m-v1214.net.unc.edu (2610:28:3090:301::2) 109.916 ms 2600:2700:201:3::3 (2600:2700:201:3::3) 108.298 ms 108.493 ms 15 core-m-v1214.net.unc.edu (2610:28:3090:301::2) 111.314 ms mk-to-el-loco-v1627-int2.net.unc.edu (2610:28:3090:24::2) 109.010 ms 109.305 ms 16 * * mk-to-el-loco-v1627-int2.net.unc.edu (2610:28:3090:24::2) 110.558 ms 17 2606:f640:6000:651::10 (2606:f640:6000:651::10) 106.348 ms !X 106.481 ms !X 106.371 ms !X ``` I contacted Jan of muni.cz and Adrian hs-esslingen to share their experiences, maybe its a peering issue.

Hi all, maintainer of ftp.fi.muni.cz/ftp.linux.cz here.

It indeed seems to be either peering or generally network bandwidth issue. I did a quick test - downloading fedora-enchilada/fullfiletimelist-fedora using rsync from dl01-dl05 and download-ib01, both IPv4 and IPv6, using this script.

I am getting reasonable bandwidth from dl0[345], and connection errors or poor speed from dl0[12]:

# timestamp host proto bw
1779093666 dl01 IPv4 960 KiB/s
1779093715 dl02 IPv4 2939 KiB/s
1779093727 dl03 IPv4 12003 KiB/s
1779093735 dl04 IPv4 18005 KiB/s
1779093743 dl05 IPv4 20578 KiB/s
1779093750 download-ib01 IPv4 20578 KiB/s
1779093886 dl01 IPv6 1067 KiB/s
1779093974 dl02 IPv6 1636 KiB/s
1779094200 dl03 IPv6 637 KiB/s
1779094207 dl04 IPv6 20578 KiB/s
1779094215 dl05 IPv6 18005 KiB/s
1779094223 download-ib01 IPv6 18005 KiB/s
1779094259 dl01 4 FAILED
1779094348 dl02 IPv4 1618 KiB/s
1779094418 dl03 IPv4 2057 KiB/s
1779094425 dl04 IPv4 20578 KiB/s
1779094433 dl05 IPv4 18005 KiB/s
1779094441 download-ib01 IPv4 18005 KiB/s
1779094442 dl01 6 FAILED
1779094442 dl02 6 FAILED
1779094450 dl03 IPv6 18005 KiB/s
1779094458 dl04 IPv6 20578 KiB/s
1779094466 dl05 IPv6 18005 KiB/s
1779094473 download-ib01 IPv6 20578 KiB/s
1779094965 dl01 4 FAILED
1779094973 dl02 IPv4 18005 KiB/s
1779094981 dl03 IPv4 18005 KiB/s
1779094988 dl04 IPv4 20578 KiB/s
1779094996 dl05 IPv4 18005 KiB/s
1779095004 download-ib01 IPv4 18005 KiB/s
1779095005 dl01 6 FAILED
1779095052 dl02 IPv6 3064 KiB/s
1779095060 dl03 IPv6 18005 KiB/s
1779095067 dl04 IPv6 20578 KiB/s
1779095075 dl05 IPv6 18005 KiB/s
1779095085 download-ib01 IPv6 14404 KiB/s

-Yenya

Hi all, maintainer of `ftp.fi.muni.cz/ftp.linux.cz` here. It indeed seems to be either peering or generally network bandwidth issue. I did a quick test - downloading `fedora-enchilada/fullfiletimelist-fedora` using rsync from `dl01`-`dl05` and `download-ib01`, both IPv4 and IPv6, using [this script](https://yenya.net/paste/fedora-download.sh). I am getting reasonable bandwidth from `dl0[345]`, and connection errors or poor speed from `dl0[12]`: ``` # timestamp host proto bw 1779093666 dl01 IPv4 960 KiB/s 1779093715 dl02 IPv4 2939 KiB/s 1779093727 dl03 IPv4 12003 KiB/s 1779093735 dl04 IPv4 18005 KiB/s 1779093743 dl05 IPv4 20578 KiB/s 1779093750 download-ib01 IPv4 20578 KiB/s 1779093886 dl01 IPv6 1067 KiB/s 1779093974 dl02 IPv6 1636 KiB/s 1779094200 dl03 IPv6 637 KiB/s 1779094207 dl04 IPv6 20578 KiB/s 1779094215 dl05 IPv6 18005 KiB/s 1779094223 download-ib01 IPv6 18005 KiB/s 1779094259 dl01 4 FAILED 1779094348 dl02 IPv4 1618 KiB/s 1779094418 dl03 IPv4 2057 KiB/s 1779094425 dl04 IPv4 20578 KiB/s 1779094433 dl05 IPv4 18005 KiB/s 1779094441 download-ib01 IPv4 18005 KiB/s 1779094442 dl01 6 FAILED 1779094442 dl02 6 FAILED 1779094450 dl03 IPv6 18005 KiB/s 1779094458 dl04 IPv6 20578 KiB/s 1779094466 dl05 IPv6 18005 KiB/s 1779094473 download-ib01 IPv6 20578 KiB/s 1779094965 dl01 4 FAILED 1779094973 dl02 IPv4 18005 KiB/s 1779094981 dl03 IPv4 18005 KiB/s 1779094988 dl04 IPv4 20578 KiB/s 1779094996 dl05 IPv4 18005 KiB/s 1779095004 download-ib01 IPv4 18005 KiB/s 1779095005 dl01 6 FAILED 1779095052 dl02 IPv6 3064 KiB/s 1779095060 dl03 IPv6 18005 KiB/s 1779095067 dl04 IPv6 20578 KiB/s 1779095075 dl05 IPv6 18005 KiB/s 1779095085 download-ib01 IPv6 14404 KiB/s ``` -Yenya
Owner

Yeah, dl01/02/03 are all 'public' ones... so they allow any rsync (with a connection limit) and also are mirrors of last resort for http/https dnf requests (they appear at the bottom of the metalink/mirrorlist).

I'm not sure why 03 would be slower than 01/02. I'll look and see if I can see anything on the server end.

I did notice that ftp.hrz.tu-chemnitz.de. is making a lot of rsync connections:

ansible -a 'grep 134.109.228.1 /var/log/rsyncd-fedora.log | wc -l' -m shell dl0\* -o 
dl03.rdu3.fedoraproject.org | CHANGED | rc=0 | (stdout) 42888
dl01.rdu3.fedoraproject.org | CHANGED | rc=0 | (stdout) 41779
dl04.rdu3.fedoraproject.org | CHANGED | rc=0 | (stdout) 55400
dl02.rdu3.fedoraproject.org | CHANGED | rc=0 | (stdout) 33596
dl05.rdu3.fedoraproject.org | CHANGED | rc=0 | (stdout) 55452

Is it getting dropped or something? or in some kind of infinite loop?

Yeah, dl01/02/03 are all 'public' ones... so they allow any rsync (with a connection limit) and also are mirrors of last resort for http/https dnf requests (they appear at the bottom of the metalink/mirrorlist). I'm not sure why 03 would be slower than 01/02. I'll look and see if I can see anything on the server end. I did notice that ftp.hrz.tu-chemnitz.de. is making a lot of rsync connections: ``` ansible -a 'grep 134.109.228.1 /var/log/rsyncd-fedora.log | wc -l' -m shell dl0\* -o dl03.rdu3.fedoraproject.org | CHANGED | rc=0 | (stdout) 42888 dl01.rdu3.fedoraproject.org | CHANGED | rc=0 | (stdout) 41779 dl04.rdu3.fedoraproject.org | CHANGED | rc=0 | (stdout) 55400 dl02.rdu3.fedoraproject.org | CHANGED | rc=0 | (stdout) 33596 dl05.rdu3.fedoraproject.org | CHANGED | rc=0 | (stdout) 55452 ``` Is it getting dropped or something? or in some kind of infinite loop?
Owner

So, any news here? Things better, or worse, or the same?

So, any news here? Things better, or worse, or the same?
Owner

Any other feedback here? Still slow? better? worse?

Any other feedback here? Still slow? better? worse?

From ftp.fi.muni.cz/ftp.linux.cz it is a bit worse today, also more IPv6 failures for dl0[1-3]:

1786428598 dl01 IPv4 586 KiB/s
1786428671 dl02 IPv4 1485 KiB/s
1786428854 dl03 IPv4 592 KiB/s
1786428861 dl04 IPv4 15494 KiB/s
1786428868 dl05 IPv4 15494 KiB/s
1786429016 download-ib01 IPv4 732 KiB/s
1786429017 dl01 6 FAILED
1786429017 dl02 6 FAILED
1786429017 dl03 6 FAILED
1786429028 dl04 IPv6 9860 KiB/s
1786429035 dl05 IPv6 15494 KiB/s
1786429043 download-ib01 IPv6 13557 KiB/s
1786429498 dl01 4 FAILED
1786429681 dl02 IPv4 592 KiB/s
1786429863 dl03 IPv4 595 KiB/s
1786429871 dl04 IPv4 13557 KiB/s
1786429879 dl05 IPv4 13557 KiB/s
1786429887 download-ib01 IPv4 13557 KiB/s
1786429887 dl01 6 FAILED
1786429888 dl02 6 FAILED
1786430023 dl03 IPv6 803 KiB/s
1786430032 dl04 IPv6 12051 KiB/s
1786430040 dl05 IPv6 13557 KiB/s
1786430048 download-ib01 IPv6 13557 KiB/s
From `ftp.fi.muni.cz`/`ftp.linux.cz` it is a bit worse today, also more IPv6 failures for `dl0[1-3]`: ``` 1786428598 dl01 IPv4 586 KiB/s 1786428671 dl02 IPv4 1485 KiB/s 1786428854 dl03 IPv4 592 KiB/s 1786428861 dl04 IPv4 15494 KiB/s 1786428868 dl05 IPv4 15494 KiB/s 1786429016 download-ib01 IPv4 732 KiB/s 1786429017 dl01 6 FAILED 1786429017 dl02 6 FAILED 1786429017 dl03 6 FAILED 1786429028 dl04 IPv6 9860 KiB/s 1786429035 dl05 IPv6 15494 KiB/s 1786429043 download-ib01 IPv6 13557 KiB/s 1786429498 dl01 4 FAILED 1786429681 dl02 IPv4 592 KiB/s 1786429863 dl03 IPv4 595 KiB/s 1786429871 dl04 IPv4 13557 KiB/s 1786429879 dl05 IPv4 13557 KiB/s 1786429887 download-ib01 IPv4 13557 KiB/s 1786429887 dl01 6 FAILED 1786429888 dl02 6 FAILED 1786430023 dl03 IPv6 803 KiB/s 1786430032 dl04 IPv6 12051 KiB/s 1786430040 dl05 IPv6 13557 KiB/s 1786430048 download-ib01 IPv6 13557 KiB/s ```
Owner

Of course I picked a pretty bad day to ask. Yesterday was fedora 45 branching (so there is now a new f45 tree all mirrors have to sync (although it is hardlinked to rawhide)). Also, somehow f44 release dirs got their permissions messed up and some mirrors removed those trees, only to sync again once it was fixed. :( So, lots of mirror activity this week.

When you have failed above, what does that mean? you got a connection refused? rsync full?

Of course I picked a pretty bad day to ask. Yesterday was fedora 45 branching (so there is now a new f45 tree all mirrors have to sync (although it is hardlinked to rawhide)). Also, somehow f44 release dirs got their permissions messed up and some mirrors removed those trees, only to sync again once it was fixed. :( So, lots of mirror activity this week. When you have failed above, what does that mean? you got a connection refused? rsync full?

@kevin: it simply means rsync returned non-zero return code.

I ran it again, now it is a bit better, only one FAIL, but speeds are still not very good. The rsync error message from dl01/ipv6 was:

fedora`@ERROR: max connections (20) reached -- try again later

Timing data:

1786649160 dl01 IPv4 561 KiB/s
1786649169 dl02 IPv4 15103 KiB/s
1786649336 dl03 IPv4 813 KiB/s
1786649344 dl04 IPv4 16991 KiB/s
1786649352 dl05 IPv4 16991 KiB/s
1786649469 download-ib01 IPv4 1161 KiB/s
1786649469 dl01 IPv6 FAILED
1786649479 dl02 IPv6 13592 KiB/s
1786649554 dl03 IPv6 1812 KiB/s
1786649564 dl04 IPv6 13592 KiB/s
1786649573 dl05 IPv6 15103 KiB/s
1786649584 download-ib01 IPv6 12357 KiB/s
@kevin: it simply means rsync returned non-zero return code. I ran it again, now it is a bit better, only one FAIL, but speeds are still not very good. The rsync error message from dl01/ipv6 was: ``` fedora`@ERROR: max connections (20) reached -- try again later ``` Timing data: ``` 1786649160 dl01 IPv4 561 KiB/s 1786649169 dl02 IPv4 15103 KiB/s 1786649336 dl03 IPv4 813 KiB/s 1786649344 dl04 IPv4 16991 KiB/s 1786649352 dl05 IPv4 16991 KiB/s 1786649469 download-ib01 IPv4 1161 KiB/s 1786649469 dl01 IPv6 FAILED 1786649479 dl02 IPv6 13592 KiB/s 1786649554 dl03 IPv6 1812 KiB/s 1786649564 dl04 IPv6 13592 KiB/s 1786649573 dl05 IPv6 15103 KiB/s 1786649584 download-ib01 IPv6 12357 KiB/s ```
Owner

I just rolled out the suggestion in #13504 (to switch to bbr)

Can you run again now?

I just rolled out the suggestion in https://forge.fedoraproject.org/infra/tickets/issues/13504 (to switch to bbr) Can you run again now?

Definitely looks better for me - these are from last few hours:

1786695895 dl01 IPv4 1015 KiB/s
1786695902 dl02 IPv4 19433 KiB/s
1786696132 dl03 IPv4 591 KiB/s
1786696139 dl04 IPv4 22672 KiB/s
1786696146 dl05 IPv4 19433 KiB/s
1786696158 download-ib01 IPv4 11336 KiB/s
1786696159 dl01 IPv6 FAILED
1786696166 dl02 IPv6 19433 KiB/s
1786696243 dl03 IPv6 1766 KiB/s
1786696250 dl04 IPv6 19433 KiB/s
1786696258 dl05 IPv6 17004 KiB/s
1786696267 download-ib01 IPv6 15114 KiB/s
1786701699 dl01 IPv4 FAILED
1786701699 dl02 IPv4 FAILED
1786701717 dl03 IPv4 7557 KiB/s
1786701724 dl04 IPv4 19433 KiB/s
1786701731 dl05 IPv4 19433 KiB/s
1786701746 download-ib01 IPv4 9068 KiB/s
1786701747 dl01 IPv6 FAILED
1786701748 dl02 IPv6 FAILED
1786701748 dl03 IPv6 FAILED
1786701755 dl04 IPv6 19433 KiB/s
1786701763 dl05 IPv6 17004 KiB/s
1786701778 download-ib01 IPv6 9068 KiB/s
1786701890 dl01 IPv4 1658 KiB/s
1786701890 dl02 IPv4 FAILED
1786701897 dl03 IPv4 19433 KiB/s
1786701904 dl04 IPv4 19433 KiB/s
1786701911 dl05 IPv4 19433 KiB/s
1786701918 download-ib01 IPv4 19433 KiB/s
1786702151 dl01 IPv6 583 KiB/s
1786702151 dl02 IPv6 FAILED
1786702168 dl03 IPv6 8002 KiB/s
1786702175 dl04 IPv6 19433 KiB/s
1786702182 dl05 IPv6 19433 KiB/s
1786702189 download-ib01 IPv6 19433 KiB/s
1786702463 dl01 IPv4 906 KiB/s
1786702463 dl02 IPv4 FAILED
1786702487 dl03 IPv4 5668 KiB/s
1786702494 dl04 IPv4 19433 KiB/s
1786702501 dl05 IPv4 19433 KiB/s
1786702508 download-ib01 IPv4 19433 KiB/s
1786702524 dl01 IPv6 8502 KiB/s
1786702524 dl02 IPv6 FAILED
1786702573 dl03 IPv6 2776 KiB/s
1786702581 dl04 IPv6 17004 KiB/s
1786702588 dl05 IPv6 19433 KiB/s
1786702594 download-ib01 IPv6 22672 KiB/s
Definitely looks better for me - these are from last few hours: ``` 1786695895 dl01 IPv4 1015 KiB/s 1786695902 dl02 IPv4 19433 KiB/s 1786696132 dl03 IPv4 591 KiB/s 1786696139 dl04 IPv4 22672 KiB/s 1786696146 dl05 IPv4 19433 KiB/s 1786696158 download-ib01 IPv4 11336 KiB/s 1786696159 dl01 IPv6 FAILED 1786696166 dl02 IPv6 19433 KiB/s 1786696243 dl03 IPv6 1766 KiB/s 1786696250 dl04 IPv6 19433 KiB/s 1786696258 dl05 IPv6 17004 KiB/s 1786696267 download-ib01 IPv6 15114 KiB/s 1786701699 dl01 IPv4 FAILED 1786701699 dl02 IPv4 FAILED 1786701717 dl03 IPv4 7557 KiB/s 1786701724 dl04 IPv4 19433 KiB/s 1786701731 dl05 IPv4 19433 KiB/s 1786701746 download-ib01 IPv4 9068 KiB/s 1786701747 dl01 IPv6 FAILED 1786701748 dl02 IPv6 FAILED 1786701748 dl03 IPv6 FAILED 1786701755 dl04 IPv6 19433 KiB/s 1786701763 dl05 IPv6 17004 KiB/s 1786701778 download-ib01 IPv6 9068 KiB/s 1786701890 dl01 IPv4 1658 KiB/s 1786701890 dl02 IPv4 FAILED 1786701897 dl03 IPv4 19433 KiB/s 1786701904 dl04 IPv4 19433 KiB/s 1786701911 dl05 IPv4 19433 KiB/s 1786701918 download-ib01 IPv4 19433 KiB/s 1786702151 dl01 IPv6 583 KiB/s 1786702151 dl02 IPv6 FAILED 1786702168 dl03 IPv6 8002 KiB/s 1786702175 dl04 IPv6 19433 KiB/s 1786702182 dl05 IPv6 19433 KiB/s 1786702189 download-ib01 IPv6 19433 KiB/s 1786702463 dl01 IPv4 906 KiB/s 1786702463 dl02 IPv4 FAILED 1786702487 dl03 IPv4 5668 KiB/s 1786702494 dl04 IPv4 19433 KiB/s 1786702501 dl05 IPv4 19433 KiB/s 1786702508 download-ib01 IPv4 19433 KiB/s 1786702524 dl01 IPv6 8502 KiB/s 1786702524 dl02 IPv6 FAILED 1786702573 dl03 IPv6 2776 KiB/s 1786702581 dl04 IPv6 17004 KiB/s 1786702588 dl05 IPv6 19433 KiB/s 1786702594 download-ib01 IPv6 22672 KiB/s ```
Author

Hello Kevin,

thanks for your work, you got the best day to ask. :-) Days like these were particularly critical in the past, but currently, I am seeing significantly better download rates.

I will continue to monitor it over the next few weeks.

have a nice weekend.

Hello Kevin, thanks for your work, you got the best day to ask. :-) Days like these were particularly critical in the past, but currently, I am seeing significantly better download rates. I will continue to monitor it over the next few weeks. have a nice weekend.
Owner

Thats encouraging... ;)

I'll leave this ticket for next week and see what folks are seeing then...

I'm also going to bump the number of rsyncs from 20 to 30. (That will mean a restart in a bit here, but hopefully less 'failed/full' messages.

Thats encouraging... ;) I'll leave this ticket for next week and see what folks are seeing then... I'm also going to bump the number of rsyncs from 20 to 30. (That will mean a restart in a bit here, but hopefully less 'failed/full' messages.
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
infra/tickets#13335
No description provided.