[tahoe-dev] split brain? how handled in tahoe -- docs?

Zooko Wilcox-O'Hearn zooko at zooko.com
Wed Aug 8 08:40:29 UTC 2012


On Wed, Aug 8, 2012 at 2:31 AM, Zooko Wilcox-O'Hearn <zooko at zooko.com> wrote:
> On Mon, Aug 6, 2012 at 1:38 PM, Tony Arcieri <tony.arcieri at gmail.com> wrote:
>
>> From what I've read of how Tahoe handles conflicts, it employs a monotonic
>> version number and timestamps. So it sounds like in the event of a conflict,
>> Tahoe employs a last writer wins strategy?

Oh, except actually I momentarily forgot how this works. One of your
guesses is actually wrong. What happens if you attempt to write to a
mutable file or directory at the same time that someone else does is
one or both of you gets an Uncoordinated Write Error:

https://tahoe-lafs.org/trac/tahoe-lafs/browser/git/docs/write_coordination.rst?rev=08ea3dc512be2e331aa486f818ba9d5f2fe2c4cb

It gets a little more complicated, because there is a feature (which I
don't like and want to kill) that if the operation you are doing is
modifying a mutable directory (such as by adding or removing links
from that directory), and it gets an Uncoordinated Write Error, then
it will, I think exactly one time, attempt to automatically merge your
edit (e.g. addition of a child link) into the new version of the
directory (i.e. the version that was written uncoordinatedly by
someone or something else) and then reupload the resulting
automatically merged directory.

Regards,

Zooko


More information about the tahoe-dev mailing list