[tahoe-dev] [tahoe-lafs] #755: if there is an unrecoverable subdirectory, the deep-check report (both WUI and CLI) loses other information

tahoe-lafs trac at tahoe-lafs.org
Fri Jan 7 05:55:05 UTC 2011


#755: if there is an unrecoverable subdirectory, the deep-check report (both WUI
and CLI) loses other information
-------------------------------+--------------------------------------------
     Reporter:  zooko          |       Owner:  francois                                     
         Type:  defect         |      Status:  new                                          
     Priority:  critical       |   Milestone:  1.8.2                                        
    Component:  code-dirnodes  |     Version:  1.4.1                                        
   Resolution:                 |    Keywords:  usability error tahoe-check wui verify repair
Launchpad Bug:                 |  
-------------------------------+--------------------------------------------

Comment (by davidsarah):

 Replying to [comment:22 warner]:
 > Good patch! I like the approach of making filenode.check_and_repair()
 > signal inability to repair by returning
 > {{{CheckAndRepairResults.repair_successful}}}=False instead of by
 > throwing an exception.

 +1

 > A few things I'd like to see changed:
 >
 > * we usually repair files that are unhealthy but recoverable. If repair
 >   fails, the file should still be recoverable. The post-repair-results
 >   are pessimistically being set to healthy=False recoverable=False
 >   needs_rebalancing=False, when it's probably (and sometimes certainly)
 >   more accurate to copy these values from the pre-repair-results.

 If there's a failure, then we don't know whether the file is healthy,
 recoverable or needs rebalancing. Shouldn't unknown fields simply be
 missing from the results?

 (Note: needs_rebalancing=False is not pessimistic.)

 > * I see {{{test_deepcheck.py:DeepCheckWebBad.do_deepcheck_broken()}}}
 >   asserts that an unrecoverable dirnode causes the traversal to halt. Is
 >   this what we want? Is this ticket about making sure an unrecoverable
 >   *file* doesn't halt a deep-repair, or about an unrecoverable
 >   *dirnode*?

 I thought it was both.

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/755#comment:23>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-dev mailing list