On Fri, 19 Mar 2021 at 12:22, Allan McRae <allan@archlinux.org> wrote:
On 19/3/21 6:46 am, Andrew Gregory wrote:
On 03/14/21 at 09:40pm, Andrew Gregory wrote: ...
What about actually removing a bad mirror instead of deduplicating the resulting messages? Maybe start using the next mirror for subsequent payloads after n failures or immediately for things like an unresolvable host?
Took a quick stab at a first draft of this on my dload-server-skip branch. With the following config:
[core] Server = http://allanmcrae1.com/ Server = http://allanmcrae1.com/ Server = http://allanmcrae.com/ Server = http://allanmcrae.com/ Server = http://allanmcrae.com/ Server = http://allanmcrae.com/ Include = /etc/pacman.d/mirrorlist
A failure limit of 3 gives the following output:
:: Synchronizing package databases... core 129.9 KiB 135 KiB/s 00:01 [###################################] 100% error: failed retrieving file 'core.db' from allanmcrae1.com : Could not resolve host: allanmcrae1.com error: failed retrieving file 'core.db' from allanmcrae.com : The requested URL returned error: 404 error: failed retrieving file 'core.db' from allanmcrae.com : The requested URL returned error: 404 error: failed retrieving file 'core.db' from allanmcrae.com : The requested URL returned error: 404
It keys the errors count off of the full server url, we might want to switch to just hostname to avoid repeating errors across db-specific servers. It also needs a warning/info message when it starts ignoring a server.
I had a look at the branch. I like the approach.
I'd suggest removing the host not found and 404 errors (and other?) and just printing a warning when a server is remove from the list. I think just using hostname rather than the full server URL would be better.
IMHO the separate commit messages - host/404/other - are rather helpful, since they clearly highlight the problem. In particular - server being unreachable (internet link went down, broken DNS) vs file delivery issue (broken mirror, temporary issue). -Emil