I asked Markus about the flattening some time ago because it has
caused problems more than once.
The general reason, which I think makes reasonable sense, is to
consider how many round internet trip accesses are needed for
loading. For any repo, p2 must access the p2.index first. Then
it knows to try the composite content/artifact jar/xml first, each
of which it must then load. Then it must load the one child repo
of the composite, again for both contents and artifacts.. So it's
double the number of round trips. And p2 itself doesn't cache the
p2.index, so it actually loads each one twice for this pattern of
a colocated composite with a single colocated child. (Oomph's
transport layer caches the p2.index.)
Ed, would you be interested in providing p2.index cache on p2 level?
Why doesn't this same
argument apply for the release train composite? Because is
composes the one simple release repository and the EPP repository
itself, i.e., it's always a composite with at least two children.
The catalog generator optimizes this to reference the one simple
child of the train, and the one simple EPP repo. Even if the EPP
repo were a composite with a simple child on the release day, the
generator could still optimize this to refer it's one simple
child. Even the train composite could be optimized to refer to
the one simple child of the EPP composite.
So I don't really care so much which approach is taken, but
that's the reasoning behind it, i.e., it's optimal for users
updating their IDE via a single URI.
The CI job that generates everything makes that composite
- but as per checklist means that it isn't used.
I'm a bit concerned that neither look right now as I would
expect based
patterns of the past.
I think everything is in place. I still have to satisfy
myself about the make visible procedures and ensure the
mirrors are "loaded". This part of the checklist has not
been automated yet for EPP.
What I don't get - but so far I am "just doing it" - is
why the repo is flattened? Looking at past releases (before
quarterly releases) it was done too. I don't know why EPP is
not handled the same way as the main downloads.