← Back to team overview

launchpad-dev team mailing list archive

Re: [RFC] Taking source package branches to the next release

 

On Fri, 7 Aug 2009 13:56:53 +0100
Jonathan Lange <jml@xxxxxxxxxxxxx> wrote:

> > Is moving 300GB of data around in a single day going to cause any
> > issues for backups? IS might be surprised :)
>
> The idea would be to 'mv' the files, keeping them all on the same
> partition. This won't require moving the actual data, just inodes.

If they're doing block-level backups then I suppose it won't make much
difference, but a file-level backup would see 300GB of changes, unless
it's clever.

> >> 2. Swap the .bzr directories for the old branch and new branch using
> >> filesystem operations.
> >
> > In the db, is there some indirection between branch names and their
> > physical locations?
>
> Yes. The location on disk is a function of the database Id.
>
> > Could that be used to provide an atomic change
> > instead? Swapping directories has a small window of brokeness and a
> > chance of failure in the middle. If 16,000 of them are being done,
> > even a small likelihood of failure could create many problems.
>
> I'm not sure, I think that would require changing the Branch.id field
> of the branches, which seems pretty off to me.

That does seem off. A new column, initially the same as the Branch.id,
would be one way of doing it.

> It's possible I'm missing something though -- I find it hard to think
> about this kind of problem without pictures.

Pictures are great, but I'm very bad at drawing them :)

I think I was thinking: doing stuff in the database has fewer moving
parts, and might be easier to write reliable tests for.



Follow ups

References