[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
Thu Sep 3 19:45:38 PDT 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