[Top][All Lists]
[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 :-}
- [Monotone-devel] Database gone wild...,
William Uther <=