]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commit
immutable: download from the first servers which provide at least K buckets instead...
authorZooko O'Whielacronx <zooko@zooko.com>
Wed, 27 Jan 2010 23:34:17 +0000 (15:34 -0800)
committerZooko O'Whielacronx <zooko@zooko.com>
Wed, 27 Jan 2010 23:34:17 +0000 (15:34 -0800)
commit2bd9dfa5bdacb381fa94a4a538a404df9f30adcc
treeeeafedc6baba8b34251a516a08550289849a0382
parent14280b009c9fcf0ca4ba93c6ee5166949fecffe5
immutable: download from the first servers which provide at least K buckets instead of waiting for all servers to reply
This should put an end to the phenomenon I've been seeing that a single hung server can cause all downloads on a grid to hang.  Also it should speed up all downloads by (a) not-waiting for responses to queries that it doesn't need, and (b) downloading shares from the servers which answered the initial query the fastest.
Also, do not count how many buckets you've gotten when deciding whether the download has enough shares or not -- instead count how many buckets to *unique* shares that you've gotten.  This appears to improve a slightly weird behavior in the current download code in which receiving >= K different buckets all to the same sharenumber would make it think it had enough to download the file when in fact it hadn't.
This patch needs tests before it is actually ready for trunk.
src/allmydata/immutable/download.py