Opened at 2007-10-29T22:29:57Z
Last modified at 2007-11-17T00:27:04Z
#197 closed enhancement
small mutable files — at Version 2
Reported by: | warner | Owned by: | warner |
---|---|---|---|
Priority: | blocker | Milestone: | 0.7.0 |
Component: | code-encoding | Version: | 0.6.1 |
Keywords: | Cc: | ||
Launchpad Bug: |
Description (last modified by warner)
Last week, zooko and I finished designing "Small Distributed Mutable Files". The design notes are in source:docs/mutable.txt . Now it's time to implement them.
Our hope is to have this in an 0.6.2 release within two weeks (since I'm giving a talk on 9-Nov and it'd be nice to have it ready by then), but if that doesn't work out, the goal is for the 0.7 release.
Here's the task list, so we can claim different pieces without colliding too much. Please edit this summary when you claim a piece.
- adding RSA to allmydata.Crypto
- not sure quite how yet: see #11
- backend: new methods in IStorageServer to allocate/locate/read/write mutable buckets, MutableBucketWriter? class to implement the server-side container format -CLAIMED BY warner, 80% done-
- client-side SMDF slot format wrangling, given a chunk of data and the right keys, generate the slot contents
- client-side peer selection: walk through peers, find existing shares,
decide upon which shares go where
- recovery algorithm
- client-side filenode class: API should have replace method.
- client-side dirnode class -CLAIMED BY warner-
Distributed Dirnodes (#115) will be implemented on top of this.
Change History (2)
comment:1 Changed at 2007-10-29T22:43:12Z by warner
- Description modified (diff)
- Status changed from new to assigned
comment:2 Changed at 2007-10-31T07:43:46Z by warner
- Description modified (diff)
got most of the server-side slots in place. Needs more test coverage to make sure we don't corrupt shares on resize, etc. Also leases need a lot more test coverage.
Tomorrow I'll start looking at the layers above that.
I'll start with the backend. We're putting off RSA for a day to give zooko some time to look at alternatives to pycrypto