Subject: Re: [PATCH 1/8] midx: start tracking per object database source

From: Patrick Steinhardt <[email-masked]>
Date: Tue, 15 Jul 2025 10:26:37 +0200

On Thu, Jul 10, 2025 at 07:19:16PM -0400, Taylor Blau wrote:
> On Thu, Jul 10, 2025 at 07:10:02PM -0400, Taylor Blau wrote:
> > On Wed, Jul 09, 2025 at 09:54:49AM +0200, Patrick Steinhardt wrote:
> > > Multi-pack indices are tracked via `struct multi_pack_index`. This data
> > > structure is stored as a linked list inside `struct object_database`,
> > > which is the global database that spans across all of the object
> > > sources.
> > >
> > > This layout causes two problems:
> > >
> > >   - Multi-pack indices aren't global to an object database, but instead
> > >     there can be one multi-pack index per source. This creates a
> > >     mismatch between the on-disk layout and how things are organized in
> > >     the object database subsystems and makes some parts, like figuring
> > >     out whether a source has an MIDX, quite awkward.
> >
> > This is a little confusing to me. What do we consider to be an "object
> > database", and what do we consider to be a "source"?
> >
> > For instance, if I have a repository with one or more alternates, I
> > would imagine that each alternate is a separate "source", and the
> > sources together comprise the object database. Does that match the way
> > you're thinking about it?
> >
> > If so, that makes sense. But if not (i.e., we consider all alternates to
> > belong to the same object database and share a single source), then I
> > don't know how this will interact with the existing MIDX alternates
> > mechanism.
> >
> > Some clarification here would be helpful, I think.
> 
> Ahh..., after applying part of this series locally, the documentation in
> "struct odb_source" clarifies that (at least as of yet) there is one
> source per alternate, along with a source for the local object database,
> and that these collection of sources comprise the object database.
> 
> Makes sense.

I'll still add a note, as all of this is a rather recent development.
Doesn't hurt to reiterate some of those points.

Patrick