Opened at 2012-01-09T03:16:53Z
Last modified at 2012-03-12T19:12:36Z
#1653 new defect
mutable-retrieve should accept good shares from servers with bad shares
Reported by: | warner | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | eventually |
Component: | code-mutable | Version: | 1.9.0 |
Keywords: | preservation mutable retrieve | Cc: | kevan |
Launchpad Bug: |
Description (last modified by davidsarah)
retrieve.py is currently rather punitive when it detects corrupt shares: it stops using *any* shares from the same server. This doesn't have much effect when there are plenty of servers and the shares are spread thinly, but in small personal grids, a single corrupt share could disqualify enough shares that the retrieve fails.
I think this behavior was copied from the old immutable downloader. The new immutable downloader doesn't do this: it treats each share independently.
To fix this, _mark_bad_share and _remove_reader should remove just the one share from self.remaining_sharemap, instead of all shares with the same server. We also need to look for other calls to _remove_reader(), since I think there may be some which *are* supposed to stop all shares from the same server.
Change History (1)
comment:1 Changed at 2012-03-12T19:12:36Z by davidsarah
- Description modified (diff)
- Keywords preservation mutable retrieve added