[Noisebridge-discuss] Haschool

Jeremy Fitzhardinge jeremy at goop.org
Sun May 10 00:48:55 UTC 2009


Jason Dusek wrote:
>> your proposed project is quite similar to one I've been toying
>> with (ie, thought about but not written a line of code), which
>> is a not-completely-braindead fuse<->s3 filesystem using the
>> Haskell fuse and curl bindings.
>>     
>
>   How do you think you'll handle the underlying eventual
>   consistency? This is an interesting problem with S3, in any
>   language.
>   

The existing fuse/s3 filesystems seem to basically ignore the problem.  
If you 1) assume that there's nothing else concurrently changing the 
files and therefore 2) the s3 filesystem always has up-to-date copies of 
recently written data, then it just needs to maintain a local cache 
until s3 is fully consistent with writes (ie, don't read back until the 
data is consistent).

Coordinated multiple writers might be fairly easy to build on top of 
that (where all writers talk to each other and maintain some kind of 
cache-coherency protocol where they can always fetch the most recent 
version of a given file).  Uncoordinated writers is going to be more of 
a challenge...

I haven't looked closely enough to see what tools s3 itself has for 
dealing with this (like, is there some kind of per-file version 
identifier/timestamp?).

A somewhat related project would be a Haskell implementation of Tahoe, 
which has all kinds of crypto goodness as well.

    J



More information about the Noisebridge-discuss mailing list