[tahoe-dev] [tahoe-lafs] #393: mutable: implement MDMF
tahoe-lafs
trac at tahoe-lafs.org
Tue Aug 10 00:51:49 UTC 2010
#393: mutable: implement MDMF
------------------------------+---------------------------------------------
Reporter: warner | Owner: kevan
Type: enhancement | Status: assigned
Priority: major | Milestone: 1.9.0
Component: code-mutable | Version: 1.0.0
Resolution: | Keywords: newcaps performance random-access privacy gsoc mdmf mutable
Launchpad Bug: |
------------------------------+---------------------------------------------
Comment (by kevan):
attachment:393status29.dpatch fixes all of the failing tests, so all unit
tests should pass now. It syncs up my changes with trunk. It also
represents a fairly substantial reorganization of the patch set, which
will (hopefully!) make it a lot easier to review. I'm going to be
reviewing it myself and fixing a few rough edges this week, but I'm going
to set the review-needed keyword so that others can start reviewing it
too.
Rough areas that I know about:
- {{{_loop}}} in the mutable file downloader isn't hooked up to
anything. I took it out of the path of execution when we were still doing
multiple-write uploads, but it makes sense to use it again now that we're
back to single-write uploads, as in SDMF, since it will allow us to place
more shares than we would otherwise in certain circumstances. I'm going to
hook it back up tomorrow.
- Neither the uploader nor the downloader are very good about keeping
their status objects updated. I'm going to try to address this tomorrow.
- The way that you tell a mutable file whether it is SDMF or MDMF is
poorly specified and kind of a kludge that I made a while ago to help me
test things. It probably needs to be at least looked at, specified more
precisely, and maybe changed. Right now, if you upload a mutable file that
is larger than 128KiB, it is automatically made to be MDMF; otherwise, it
is SDMF. These semantics are probably not what we want for backward
compatibility/interoperating with older clients.
- I need to look at the deferred chains in the publisher and downloader
to make sure that I'm not going to be causing ballooning memory usage due
to tail recursion.
--
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/393#comment:56>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-dev
mailing list