[tahoe-lafs-trac-stream] [tahoe-lafs] #393: mutable: implement MDMF

tahoe-lafs trac at tahoe-lafs.org
Sun Aug 21 23:20:12 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 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.

 If he didn't catch one, then the fact that a file is mutable but can have
 large contents (even larger than RAM) would be a critical bug. How can we
 be sure we've caught all of them? Can we write unit tests which detect if
 the entire file has been loaded into RAM? (Somehow... by examining the
 change in the RAM usage? By scanning the Python strings for a special
 pattern which we've put into the MDMF file? Or better: by using a mock
 object that observes how many reads of what size the client performs and
 when the resulting objects get garbage collected and adds up the high
 water mark.)

 Failing that, we should have someone else do what Kevan has presumably
 already done and search for all uses of mutable files and examine each use
 to see if it reads the entire contents into RAM.

 (Should this comment turn into a new ticket?)

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/393#comment:147>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list