[tahoe-dev] [tahoe-lafs] #1212: Repairing fails if less than 7 servers available
tahoe-lafs
trac at tahoe-lafs.org
Fri Oct 1 01:08:55 UTC 2010
#1212: Repairing fails if less than 7 servers available
------------------------------+---------------------------------------------
Reporter: eurekafag | Owner:
Type: defect | Status: closed
Priority: major | Milestone: soon
Component: code-network | Version: 1.8.0
Resolution: fixed | Keywords: reviewed
Launchpad Bug: |
------------------------------+---------------------------------------------
Comment (by davidsarah):
This is how I think the repairer should work (I ''think'' this is
violently agreeing with Zooko's comment:13, but with more detail):
* let k and N be the shares-needed and total number of shares for this
file, and let H be the happiness threshold read from tahoe.cfg.
* if there are fewer than k connected servers, report that the repair
failed completely.
* construct a server map for this file by asking all connected servers
which shares they have. (In the case of a mutable file, construct a server
map for the latest retrievable version.)
* construct a maximum matching M : server -> share, of size |M|, for this
file (preferring to include servers that are earlier on the permuted list
when there is a choice).
* while |M| < N, and we have not tried to put shares on all connected
servers:
* pick a share not in M, and the server not in M that is next on the
permuted list (wrapping around if necessary). Try to extend M by putting
that share onto that server.
* if |M| < k, report that the repair failed completely. If k <= |M| < H,
report that the file is retrievable but unhealthy. In any case report what
|M| is.
(The while loop should be done in parallel, with up to N - |M| outstanding
requests.)
--
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1212#comment:14>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-dev
mailing list