That enum methods cringe me, IMO they should try to make enum as dumb as possible, more like key-value pair, let the class/function handle the implementation details.
How is this supposed to work? (I use Arch BTW) supposed I'm in a country X, does Cloudflare basically caching the request to server that are in country X? But I'm already close to that server and I'm always cautious with mirrors that are in country X, often they were out of date :(
This is my issue with it as well - it's basically their geo-sniffing magic routing you towards the closest officially listed mirrors for that country (glorified proxy); it makes the mistake of presuming that all those mirrors listed in the Arch country-mirrorlist are created equal in terms of reliability and performance, but they're not (we have a whole web page just to track out of date mirrors).
I'd guess if this gains traction, the caching on Cloudflare's side will usually make up for this, and if it hits the actual mirror behind it, the load on that one should be lower than before. It reads like they will try to proxy multiple local mirrors so time will tell how well they will pick amongst them. I'm switching for now to see how it will perform over a longer period.
The difficulty is if the mirror itself is behind, Cloudflare's cache for that specific endpoint will be correct (functional, working) but out of date compared to another mirror.
Example: around the end of June this year the mirrors.kernel.org infra was failing to sync (DNS issues of some sort) the latest content, so your upgrade would appear to have no new packages because the stale content was a valid repo, when in fact there were many updates and other mirrors were in sync.
I'm not aware of the technical how, but the Arch infrastructure seems to measure this successfully; a hook into this data might be a great way for the two to interoperate (so that Cloudflare always serves the freshest cache/mirrors). https://www.archlinux.org/mirrors/status/
> How is this supposed to work? (I use Arch BTW) supposed I'm in a country X, does Cloudflare basically caching the request to server that are in country X? But I'm already close to that server and I'm always cautious with mirrors that are in country X, often they were out of date :(
According to what I read in their main page https://cloudflaremirrors.com/archlinux, they seem to be caching the packages from mirrors and serving it via their anycast network.
Repeatedly poke the maintainers of the mirror and the core developers alternately until everyone gets mad and does something about it. :P
Alternatively (/ realistically), perhaps CF would prefer the value-add of rerouting where there are newer packages instead of the singular approach of geo-routing. Definitely let them know.
I'm seeing multiple comments in this subthread, I'd apply the 2nd line above to everyone affected, if a bunch of people let CF know maybe they'll figure something out.
If that bothers you, you'll love the nLab's page on the red herring principle :)
> The mathematical red herring principle is the principle that in mathematics, a “red herring” need not, in general, be either red or a herring.
> Frequently, in fact, it is conversely true that all herrings are red herrings. This often leads to mathematicians speaking of “non-red herrings,” and sometimes even to a redefinition of “herring” to include both the red and non-red versions.
Well, i usually use 'soy meat' example, which is obviously not meat. The case where adjective moves meaning outside of boundaries of original meaning, instead of just making it more precise, is kind of perverse. Perhaps people should use hyphen to make it one term in cases where the meaning is not result of composition (e.g. 'dwarf-planet' and 'soy-meat' vs. 'big planet' and 'pork meat').