monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] Re: Broken database?


From: graydon hoare
Subject: [Monotone-devel] Re: Broken database?
Date: Mon, 09 Feb 2004 14:10:02 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

Peter Simons wrote:
Hi,

I'm having trouble with Monotone. Apparently, there is some
broken certificate in my database. Either that, or the depot
stuff isn't working as expected:

the phenomenon you're seeing is a working ancestry graph (in certs) and a bunch of missing versions in your storage system.

I can reproduce this with my own fetch from your depot. during the fetch, I see a number of "manifest delta pre-image '...' not found in database" sort of messages. unfortunately this is exactly the problem I'm trying to address with the netsync code: the part of depots which plays with deltas is time-sensitive, and that's simply not robust. the depot is replaying a log to you of things it received, including deltas. if you fetch deltas out of order from the way they were composed -- which can happen either due to bugs, misconfiguration, or possibly even races between posters -- it can't apply deltas, so drops them on the floor. I was, earlier, going to build some sort of input queue to reorder stuff. now that I have netsync beginning to work, I'm strongly considering just dropping the log-based stuff altogether. ironically, due to its "protocol level" simplicity, its systemic complexity is way too high. too many ways to mis-order logs.

the certs, being more "atomic" objects, don't suffer from this as much; there's not really any temporal coupling between them (though you can still get out of sync with your server, hence miss some).

there's not much I can recommend at the moment, aside from waiting for the netsync code. it's a design error on my part; I made the first networking layer of monotone log-based, and that's turned out to be a mistake. the majority of breakage I've seen reported has had to do with temporal inconsistency in transmitted logs. so I'm replacing it.

-graydon




reply via email to

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