Comment 8 for bug 653307

Revision history for this message
James Westby (james-w) wrote : Re: [Bug 653307] Re: Import fails with missing referenced chk root keys

On Thu, 21 Oct 2010 06:30:18 -0000, Andrew Bennetts <email address hidden> wrote:
> So, here' s a summary of where I'm at:
>
> * existing package import branches on Launchpad have mutually inconsistent data. This will need to be fixed one way or another
> * a fresh import of affected branches using import_package.py --no-existing works correctly AFAICS
> * nowhere in the lp:udd or lp:bzr-builddeb code appears any likely suspects for generating this sort of inconsistency, and a cursory glance at their revision history doesn't show any likely culprits either.
>
> So I'm currently stumped as to the root cause. Something somewhere must
> have specified an existing revision ID when generating a new revision or
> inventory object, I think. But I just can't find any code here that
> would have done that.

I don't know of anything that would have done that.

Are you able to determine when the revisions that are problematic were
created? (Revision date won't help, but the revid should)

> What's the cost to redoing the affected imports from scratch? They
> would be effectively parallel imports, but perhaps no-one has made
> branches of them? I'm thinking that doing this might be the simplest
> and quickest way to fix the affected package imports.

That's probably ok for the vast majority. I would want to make sure that
the branches were ones only committed to by the importer before doing
that though, so that we would not be losing information.

> Another related thought I've had is that it would probably be worth
> extending bzr's error reporting in this case to include the revid(s)
> that reference those root keys. it would cost a little time to
> calculate, but not very much and only affects this serious error case
> anyway, and would help by pointing straight to the affected revision(s).

That sounds like a good idea. This isn't an error useful to a user, so I
think it should just be loaded with as much information as an expert
would need to dig in to the problem.

Thanks,

James