package cupt libcupt-perl mirrors
reassign 582352 mirrors
retitle 582352 different mirrors under single DNS should have equal content
affects 582352 + libcupt-perl
thanks

Jonathan Nieder wrote:
> Eugene V. Lyubimkin wrote:
> 
>> Khm. I would argue that it's not a Cupt problem and the other side providing
>> round-robin DNS should ensure the equality of files.
> 
> Eh, it might be nice for them to do that, but we would have to either
> change them or live with what we have.
> 
> In other words, maybe this is not the way DNS is supposed to be used,
> but it is an assumption for “APT over HTTP” used on both ends (the
> mirrors and the clients).  And this is a simple assumption that would
> not be broken by any DNS cache.  It is the client’s responsibility to
> use the same IP where it needs consistency.
Ideally, I disagree. Is there some RFC spec about 'use the same IP if you need
consistence?' or like?

> Now to find some time to fix it. :)
Even given all the above, I'd in favor to provide a workaround from Cupt's
side. But, in this case, I practically cannot. Curl has not options to control
DNS->IP selection, and Cupt download system is written in method- and
host-agnostic way, with multi-process approach and internal pipelining. Last
two things mean that downloads methods cannot rely on any DNS cache. Saying
that not all files can be downloaded independently (in this case, Release and
Packages, but that also applies to to download of .debs as well) breaks too
many places of the system, and "fixing" this part needs a major rewrite, less
maintainable/scalable code and hacks to avoid race condition bugs #442189. The
current download system avoids that by fully parallel design.

The possible solutions include multithreading instead of multiprocess design
(has its downsides, requires a change of implementation language) or
implemenenting a file-based DNS cache in Curl instead of memory-based
(unlikely to have, I suppose).

Summarizing: sorry, I can't provide a workaround in a near future.

Also, let's see what maintainers of 'mirrors' pseudo-package can suggest.

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++/Perl developer, Debian Developer

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to