#4798 Cannot mirror Fedora drpms using OpenAFS
Closed: Fixed None Opened 7 years ago by tc01.

= bug description =

See https://bugzilla.redhat.com/show_bug.cgi?id=1039365; I'm reposting it here because I think this is specifically an infrastructure problem (Note: I did not file the original ticket, but both nwf and I are members of the same organization).

But, in a nutshell, we're trying to run a Fedora mirror out of OpenAFS, but cannot mirror the drpms directory because OpenAFS only allows a certain number of files to exist in directories and drpms exceeds that limit.

(The mirror in question is http://mirrors.acm.jhu.edu/-- we're not currently an official Fedora mirror).

= bug analysis =

The problem is due to OpenAFS's "slots" architecture, where a directory has a limited number of "slots" for file(names). https://lists.openafs.org/pipermail/openafs-info/2002-September/005812.html goes into a little more detail.

= fix recommendation =

As proposed on the bugzilla ticket, a possible solution would be to stick delta-rpms in alphabetical subdirectories? e.g. drpms/d contains all the delta-rpms beginning with 'd'.

Also note that if this isn't an infrastructure problem, please let me know if there's anyone better I should take this up with. :) (e.g. would something break in yum/dnf if this was changed?)



I agree in principle. This is hardly the only terrible thing about OpenAFS. :) (There are, however, a dearth of good alternatives for distributed filesystems). We're also not the only people crazy enough to run into this issue (someone else on the bugzilla ticket had the same problem).

I would only add that both debug and regular RPMs do seem to use alphabetical organization structure, so clearly someone thought it was a decent idea once upon a time. It only seems to be the delta RPMs that do not.

And it should go without saying that if presto/deltarpm stuff in yum/dnf needs would need patching, I'd be happy to do some of that work.

So, first this is probibly a releng issue (since it has to do with release content).

There's a number of possible fixes here:

  • For rawhide now we keep at most a week of drpms (as rawhide users upgrade often). releng may consider something similar for releases (but longer).

  • We could only keep 1 drpm per package. This might still hit the limit someday tho.

  • We could indeed split them into subdirs. This also could hit the limit someday, in particular p* has a lot of packages.

  • You could exclude them. There's no issue with not having them, if they don't exist on your mirror, dnf will simply move on and try the next until it finds them or gives up (and just downloads the non drpm).

Okay; should I open a ticket on the releng trac and link this there?

We are currently excluding them, yes, so this isn't a major issue. (I guess, even without becoming an official mirror, we could serve a mirrorlist containing our mirror + others that have drpms, or something like that).

I'd still like to mirror them if possible, though.

Actually, yeah, if you could open one over there ( https://fedorahosted.org/rel-eng/ ) and add a 'meeting' keyword so it will get discussed at the next releng meeting that would be good.

Its really something for releng to decide how they want to solve...

Login to comment on this ticket.