[tahoe-lafs-trac-stream] [tahoe-lafs] #393: mutable: implement MDMF
tahoe-lafs
trac at tahoe-lafs.org
Tue Aug 23 09:38:42 PDT 2011
#393: mutable: implement MDMF
-------------------------+-------------------------------------------------
Reporter: warner | Owner: zooko
Type: | Status: new
enhancement | Milestone: 1.9.0
Priority: major | Version: 1.0.0
Component: code- | Keywords: newcaps performance random-access
mutable | privacy gsoc mdmf mutable backward-
Resolution: | compatibility forward-compatibility review-
Launchpad Bug: | needed
-------------------------+-------------------------------------------------
Comment (by davidsarah):
Replying to [comment:147 zooko]:
> Kevan has caught some places which say "if the file is mutable, load all
of its contents into RAM", for example in
20110802021207-b8d28-b0c006c43f8efc1c3d89484ed7d6ff037f07774a
{{{GeneralSFTPFile._close()}}}. This worked in Tahoe-LAFS <= v1.8, because
mutable files were necessarily smaller than RAM, but this assumption is no
longer valid in Tahoe-LAFS >= v1.9.
[source:src/allmydata/frontends/sftpd.py at 5179#L813 GeneralSFTPFile._close]
does:
{{{
self.filenode.overwrite(MutableFileHandle(self.consumer.get_file()))
}}}
where {{{self.consumer.get_file()}}} is a file object for an open
temporary file.
Does this read the whole file into memory? If it does, I think the bug is
in {{{MutableFileHandle}}} or {{{MutableFileVersion.overwrite}}}. The SFTP
frontend itself is careful not to assume that files fit into memory.
(I agree with the more general point that we need tests to detect whether
we're making that assumption. Manual smoke-testing with large files would
also help, and could be done with the alpha.)
--
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/393#comment:148>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list