#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
Note: See TracTickets for help on using tickets.