On Wed, Mar 02, 2011 at 09:22:35PM +0100, Eduard Bloch wrote:

> > currently, if apt-cacher-ng is configured for redirection, not just merging,
> 
> First, which configuration / config directive do you exactly mean?

Remap.

I got "redirection" and "merging" from the documentation, sorry. :)

> > and the first preferred upstream mirror is responsive but malfuntcioning
> > (resets connection, doesn't have files it should have etc.), acng clients
> > can't download files.
> 
> Second, it does already have a fallback behaviour.

I know, but it doesn't kick in in all cases where I think it should.

> However, code 404 is not interpreted as failure. Because apt does a lot of
> such requests, e.g. for translation files which can be missing.

And what's so terrible about retrying those on other servers as well?

If it _is_ very bad for some reason, then request types that can be
reasonably expected to fail shouldn't be retried on other servers, but
requests for package files should (not by default, but optionally yes).

Specific problem:

Remap-debrep: file:deb_mirror*.gz /ftp.debian.org/debian/ 
/cdn.debian.net/debian/ /debian ; http://cdn.debian.net/debian/ 
http://ftp.hu.debian.org/debian/ [...]

The idea is to prefer whatever mirror cdn.debian.net prefers, and to fall
back to a small set of specific mirrors if the first mirror doesn't work.

For a few days, the mirror cdn.debian.net pointed to was incomplete. It had
up to date Packages files but many .debs were simply missing. Later, the
problem changed, and the mirror aborted all connections without replying
anything.

Any apt requests that referenced these URLs, using whatever specific mirror,
were redirected to cdn.debian.net, and thus failed (either giving 404 or 502
when the upstream mirror aborted the connection).

This was understandably very frustrating for the users.

It would greatly increase the robustness of ACNG (reduce its susceptibility
to problems with specific mirrors) if it could retry the same request on
different mirrors if the first one failed.

On a related note, I think speed could be improved substantially by
connecting to several mirrors in parallel and dropping surplus connections
once at least one succeeds; this way there'd be no need to wait for the
first connection to time out before trying the second, for the second to
time out before trying the third and so on.

Andras

-- 
                     Andras Korn <korn at elan.rulez.org>
                Timing error. Please wait. And wait. And wait.



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to