[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