|
From: | graydon hoare |
Subject: | [Monotone-devel] Re: Netsync questions |
Date: | Mon, 05 Jul 2004 10:18:28 -0400 |
User-agent: | Mozilla Thunderbird 0.5 (X11/20040208) |
Nathaniel Smith wrote:
The case I'd be worried about is possible bugs lurking if you, say, have one person syncing against mjw.mt.test1 and someone else syncing against mjw.mt at the same time. This is just a vague fear, though; perhaps the wise Graydon has forseen this issue and made it all work correctly :-).
huh. this is interesting. there is actually a lurking bug here, but it's not the one you think (I think): I just checked, and the merkle trees are updated a little too early in the service routine, before the certs in question are actually committed to the database. that's bad: an aborted sync will think it transferred something when really it did not. this will not cause trouble currently because we rebuild merkle trees from scratch every time we run a netsync command; but that's a "conservative mode" I wish to turn off someday. I've filed a bug.
anyways, that has nothing to do with concurrent writes to multiple collections. none of the writes are "really" concurrent in "monotone serve" -- it processes each command in a transaction, and in a single thread -- so in theory (aside from bugs) there should be nothing wrong with writing to multiple collections which overlap. bugs are always a concern, of course.
-graydon
[Prev in Thread] | Current Thread | [Next in Thread] |