[tahoe-dev] Object Health

Zooko Wilcox-O'Hearn zooko at zooko.com
Thu Oct 4 15:40:22 UTC 2012


On Mon, Jul 9, 2012 at 10:39 AM, Brad Rupp <bradrupp at gmail.com> wrote:
>
> The output from repair #1:
>
> repair successful
> done: 11801 objects checked
>  pre-repair: 11725 healthy, 76 unhealthy
>  76 repairs attempted, 76 successful, 0 failed
>  post-repair: 11801 healthy, 0 unhealthy
>
> The output from repair #2:
>
> done: 11801 objects checked
>  pre-repair: 11789 healthy, 12 unhealthy
>  12 repairs attempted, 11 successful, 1 failed
>  post-repair: 11800 healthy, 1 unhealthy
>
> As you can see, the first repair found and fixed 76 unhealthy objects. The
> second repair, approximately 12 hours later, found 12 unhealthy objects and
> fixed 11 of them.
>
> Why would the second repair find 12 unhealthy objects?  I would have
> expected it to find 0 unhealthy objects given that the first repair was
> performed only 12 hours earlier.


Wouldn't it be great if the text that said "12 repairs attempted, 11
successful, 1 failed" had hyperlinks to web pages that listed all of
the repair attempts, where you could see which file was not healthy,
which servers the repair job attempted to use to repair the file, and
what happened with each server that led to success or failure?

Providing such a web page would mostly just be a matter of "web
programming" -- generating HTML that shows the contents of the Python
objects in memory which contain that data.

https://tahoe-lafs.org/trac/tahoe-lafs/browser/git/src/allmydata/web/check-and-repair-results.xhtml?annotate=blame&rev=054374400e28cb0027285b031dda24ffe494c3e8

https://tahoe-lafs.org/trac/tahoe-lafs/browser/git/src/allmydata/web/deep-check-and-repair-results.xhtml?annotate=blame&rev=054374400e28cb0027285b031dda24ffe494c3e8

https://tahoe-lafs.org/trac/tahoe-lafs/browser/git/src/allmydata/web/upload-results.xhtml?annotate=blame&rev=e60982c851adf2de23b4d6463703e7ea4e4388c7

https://tahoe-lafs.org/trac/tahoe-lafs/browser/git/src/allmydata/web/publish-status.xhtml?annotate=blame&rev=518e4cec984ed967154949091e3c7a87abac5060'

Here's the data stored in Python objects in memory:

https://tahoe-lafs.org/trac/tahoe-lafs/browser/git/src/allmydata/check_results.py?annotate=blame&rev=188c7fecf5d2e62d8dcfbff0791fe1125def971b

I created #1821 to track this issue.

https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1821# show full,
explorable details about check and repair operations

Regards,

Zooko


More information about the tahoe-dev mailing list