From: Marcin Wisnicki on
At this very moment, french package mirror has INDEX newer than in
other mirrors:

> fetch -o INDEX-xx.bz2 http://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/INDEX.bz2
> fetch -o INDEX-fr.bz2 http://ftp.fr.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/INDEX.bz2
> ls -l
total 2656
-rw-r--r-- 1 marcin users 1326192 Jul 27 05:36 INDEX-fr.bz2
-rw-r--r-- 1 marcin users 1352557 Jul 11 03:49 INDEX-xx.bz2

> bzgrep ^firefox-3.6 INDEX*.bz2 | cut -f1 -d\|
INDEX-fr.bz2:firefox-3.6.7,1
INDEX-xx.bz2:firefox-3.6.4,1

> fetch http://ftp.fr.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/All/firefox-3.6.7,1.tbz
fetch: http://ftp.fr.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/All/firefox-3.6.7,1.tbz: Not Found
> fetch http://ftp.fr.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/All/firefox-3.6.4,1.tbz
firefox-3.6.4,1.tbz 0% of 18 MB 104 kBps^C

yet it does not have those packages.

How could something like this happen ?

_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: perryh on
Marcin Wisnicki <mwisnicki+freebsd(a)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.
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Marcin Wisnicki on
On Tue, 27 Jul 2010 21:03:21 -0700, perryh wrote:

> Marcin Wisnicki <mwisnicki+freebsd(a)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.

_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: "Julian H. Stacey" on
> Mirroring must be atomic (mirror to temporary directory then rename).

That could double disc requirement, & reduce mirror sites willing
to provide space ?

Cheers,
Julian
--
Julian Stacey: BSD Unix Linux C Sys Eng Consultants Munich http://berklix.com
Mail plain text. Not HTML, Not quoted-printable, Not Base64.
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Marcin Wisnicki on
On Wed, 28 Jul 2010 15:43:43 +0200, Julian H. Stacey wrote:

>> Mirroring must be atomic (mirror to temporary directory then rename).
>
> That could double disc requirement, & reduce mirror sites willing to
> provide space ?
>


Indeed it would. But there is no other way to solve it.

Alternatively it could be prevented with no disk cost by putting
"MIRROR-IN-PROGRESS" file and making all package utilities check for its
existence and fail with explanation to try again later.

> Cheers,
> Julian


_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"