[tahoe-dev] Tahoe Lock Files vs. K = 1

zooko zooko at zooko.com
Wed Mar 5 12:36:21 PST 2008


Yesterday Brian came up with an excellent hack to solve the problem  
of mutable files being destroyed -- all of their old and new versions  
destroyed -- by uncoordinated writes.  The solution is simply: set K  
= 1!

The problem with uncoordinated writes is that some storage servers  
can end up with one version of the file and other storage servers can  
end up with another version.  This isn't fatal -- you can always  
retrieve at least one, if not both, version later.  But what is fatal  
is if no version has enough shares in existence to be reconstructed.   
For example, suppose K = 3, and there are six servers, and two  
servers have shares from version 1, two servers have version 2, and  
two servers have version 3.  This is the case where all versions of  
the file can be permanently lost.

So, yesterday, Brian said "How about just setting K = 1 for small  
distributed mutable files?", and solved the problem at a stroke.

It does mean that mutable files take up a bit more space that  
immutable ones do, but mutable files are intended to be used only for  
relatively small things anyway.



More information about the tahoe-dev mailing list