Hello, When using substitute servers discovery, I've noticed that if one of the substitute servers doesn't have any substitutes available, it'll keep getting tried instead of others, leading to a slide-show of substitutes updates such as:
--8<---------------cut here---------------start------------->8--- normalized load on machine '127.0.0.1' is 0.04 building /gnu/store/ajd0hx104702jpz2ycdwgrnyrv8jsp6d-xorg-server-21.1.0.tar.xz.drv... process 9195 acquired build slot '/var/guix/offload/127.0.0.1:6666/1' normalized load on machine '127.0.0.1' is 0.04 building /gnu/store/49rqi3wpvdm5pv6in9pamzdvg0wscrl8-xorgproto-2021.5.drv... substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://127.0.0.1:8080'... 100.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% substitute: updating substitutes from 'http://127.0.0.1:8080'... 100.0% substitute: updating substitutes from 'http://192.168.10.102:80'... 0.0% --8<---------------cut here---------------end--------------->8--- We should implement some scheme to prefer querying high-substitute servers first, instead of wasting time querying servers always failed queries; this would greatly improve performance when using substitute discovery for example combined with low coverage. Thanks! Maxim
