Strange contents on some ftp mirrors

Marcin Wisnicki mwisnicki+freebsd at gmail.com
Wed Jul 28 13:15:53 UTC 2010


On Tue, 27 Jul 2010 21:03:21 -0700, perryh wrote:

> Marcin Wisnicki <mwisnicki+freebsd at gmail.com> wrote:
>> At this very moment, french package mirror has INDEX newer than in
>> other mirrors:
>>
> ...
>>
>> yet it does not have those packages.
>>
>> How could something like this happen ?
> 
> By being examined while a resync was in process: evidently the new INDEX
> file had been transferred but that package file (and likely others) were
> still in transit or perhaps not even started yet. Mirroring is not an
> instantaneous process. 

Yeah that was it, but it is really, really bad.
Mirroring must be atomic (mirror to temporary directory then rename).
Otherwise there is a large window of time every couple of days when upgrading
packages will at best fail or leave you with broken system.
I did binary upgrade with pkg_upgrade yesterday and half of my system was linked
against wrong libintl version :(
In fact atomic mirroring will not fix it completely, you must keep
older versions of packages for at least a few hours after mirroring
so anyone that started before mirroring was "commited" will have a chance
to finish.



More information about the freebsd-ports mailing list