[tahoe-dev] [tahoe-lafs] #1212: Repairing fails if less than 7 servers available
tahoe-lafs
trac at tahoe-lafs.org
Wed Sep 29 05:05:22 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: |
------------------------------+---------------------------------------------
Changes (by zooko):
* keywords: review-needed => reviewed
* status: new => closed
* resolution: => fixed
* milestone: undecided => soon
Comment:
Reviewed and applied in
[20100927200102-b8d28-9111a341188a4264e5070f91b52364a2addcb3dc], thanks!
By the way, I think we should do more work here. This patch corrects the
regression from v1.7.1 to v1.8.0 (introduced in
[20100804072639-66853-20d40fc1f412f916adfe1aaa1b2035dbd590107f]), in that
v1.7.1 would repair with a servers-of-happiness ({{{H}}}) of {{{0}}} and
v1.8.0 would repair with an {{{H}}} of {{{7}}}. While I agree that this
was a regression and that we should put it back to {{{0}}}, I actually
think that the old behavior of {{{0}}} was wrong and that we should have
been using "currently configured {{{H}}}" instead!
That is: if you have configured your servers-of-happiness {{{H}}} to be 3,
like eurekafag did, and the number of servers currently reachable on your
grid is 2, and you do a repair, then I think the repair should stop with
an explicit error message instead of proceeding and then giving you a
report at the end that mentions (if you know how to read it) that it
actually only put the shares onto 2 servers.
(In other words, I think I was wrong when I suggested letting repairer use
{{{H==0}}} in comment:48:ticket:778. Or at least, what we did then was to
keep the behavior of repairer from v1.6 when we made v1.7, but what I'm
suggesting to do now is improve that behavior for the next release.)
Kevan, David-Sarah, Brian, eurekafag: do you agree? If so, let's open a
new ticket saying to make the {{{H}}} used by repair be the same as the
{{{H}}} that would be used by an upload. (Also in the new code we should
make the {{{H}}} value be a parameter passed to the repairer instead of
letting the repairer query the node-wide configuration. This is in keeping
with [wiki:CodingStandards#configuration CodingStandards regarding
configuration] and will facilitate some possible future work where people
can pass explicit {{{K}}}, {{{M}}}, and {{{H}}} for a given upload or
repair, e.g. as options to the {{{tahoe put}}} command line or optional
fields in the WUI.
--
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1212#comment:9>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-dev
mailing list