monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Database gone wild...


From: William Uther
Subject: [Monotone-devel] Database gone wild...
Date: Fri, 9 Mar 2007 10:39:07 +1100

Hi all,

I'm just about to ditch all the DBs in our cloud and start again. Those revisions signed by a bad key keep coming back to haunt me - someone always syncs with a db that still has them...

Then there was the problem with cvssync where it was moved to a new server that didn't have a key generated before it was run the first time. Rather than erroring out, it added two revs without any certs and the scripts then synced them into the cloud. Wheeee. A db check now gives:

% mtn db check -d my-db
mtn: files
mtn:  1875
mtn: rosters
mtn:     953
mtn: revisions
mtn:       953
mtn: markings
mtn:      953
mtn: ancestry
mtn:      973
mtn: keys
mtn:    8
mtn: certs
mtn:  3820
mtn: heights
mtn:     954
mtn: height relations
mtn:              973
mtn: revision 185e366691229252cc37097355968c3f69c33632 bad signature in branch cert from key address@hidden mtn: revision 185e366691229252cc37097355968c3f69c33632 bad signature in changelog cert from key address@hidden mtn: revision 185e366691229252cc37097355968c3f69c33632 bad signature in date cert from key address@hidden mtn: revision 185e366691229252cc37097355968c3f69c33632 bad signature in author cert from key address@hidden mtn: revision 4180f7411118fa551b68f3ae607f98fef13308f8 missing author cert mtn: revision 4180f7411118fa551b68f3ae607f98fef13308f8 missing branch cert mtn: revision 4180f7411118fa551b68f3ae607f98fef13308f8 missing changelog cert
mtn: revision 4180f7411118fa551b68f3ae607f98fef13308f8 missing date cert
mtn: revision cfbbff11462b843a9de99b3511613ac86f97a4e2 missing author cert mtn: revision cfbbff11462b843a9de99b3511613ac86f97a4e2 missing branch cert mtn: revision cfbbff11462b843a9de99b3511613ac86f97a4e2 missing changelog cert
mtn: revision cfbbff11462b843a9de99b3511613ac86f97a4e2 missing date cert
mtn: warning: 8 missing certs
mtn: warning: 4 bad signatures
mtn: check complete: 1875 files; 953 rosters; 953 revisions; 8 keys; 3820 certs; 954 heights
mtn: total problems detected: 12 (12 serious)
mtn: error: serious problems detected

Thoughts on the solution. There are two branches. One has all the work that was done in mtn. The other was pulled from CVS.

If I make a new DB. Pull only the branch with our work in it. Kill the rev with the bad signature (don't need it anyway). Use cvssync to pull all the data from CVS again into the cvs branch.

The problem is that I need to stop people from syncing the old broken stuff into the fixed up db. I suspect I want to do something with epochs. If I 'mtn db set_epoch' on each branch to a random number, that should solve the problem, right?

sigh,

Will         :-}





reply via email to

[Prev in Thread] Current Thread [Next in Thread]