[tahoe-dev] [tahoe-lafs] #800: improve alacrity by downloading only the part of the Merkle Tree that you need

tahoe-lafs trac at allmydata.org
Fri Sep 4 02:45:38 UTC 2009


#800: improve alacrity by downloading only the part of the Merkle Tree that you
need
-------------------------+--------------------------------------------------
 Reporter:  zooko        |           Owner:  somebody 
     Type:  enhancement  |          Status:  new      
 Priority:  major        |       Milestone:  undecided
Component:  code         |         Version:  1.5.0    
 Keywords:               |   Launchpad_bug:           
-------------------------+--------------------------------------------------
 The downloader currently reads the entire Merkle Tree over the blocks when
 it needs to read only a log-N-sized subset of it.  Here is the function
 {{{ReadBucketProxy._get_block_hashes()}}} which is informed by its caller
 about which hashes are needed, but which then dumbly goes ahead and
 downloads the entire set:
 [source:src/allmydata/immutable/layout.py at 4048#L415].  Here is the caller
 which figures out exactly which subset of the Merkle Tree that it needs,
 asks the {{{ReadBucketProxy}}} for it, then stores all the ones it got
 that it didn't need:
 [source:src/allmydata/immutable/download.py at 4054#L334].  (Good thing it
 stores them, because it usually ''does'' need them later, when it proceeds
 to download the rest of the file.)

 This issue was mentioned in this mailing list thread:

 http://allmydata.org/pipermail/tahoe-dev/2009-September/002779.html

 Ticket #670 mentioned this issue.

-- 
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/800>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid


More information about the tahoe-dev mailing list