[tahoe-lafs-trac-stream] [tahoe-lafs] #2107: don't place shares on servers that already have shares
tahoe-lafs
trac at tahoe-lafs.org
Tue Dec 3 03:04:59 UTC 2013
#2107: don't place shares on servers that already have shares
-------------------------+-------------------------------------------------
Reporter: zooko | Owner:
Type: | Status: new
enhancement | Milestone: undecided
Priority: normal | Version: 1.10.0
Component: code- | Keywords: upload servers-of-happiness brians-
peerselection | opinion-needed
Resolution: |
Launchpad Bug: |
-------------------------+-------------------------------------------------
Comment (by PRabahy):
Replying to [comment:26 zooko]:
>
> PRabahy: what do you think of "Rule 3"?
>
> ''Rule 3: "Don't put a share on a server unless doing so would
increase the Servers-of-Happiness-Level."''
>
> Where "Servers-of-Happiness-Level" is defined as:
>
> ''Servers-of-Happiness-Level: the size of the largest set of servers
such that '''any''' K-sized subset of it can recover the file.''
>
> (I think. Did I get that definition right??)
I agree with your definition of "Servers-of-Happiness-Level", but do not
believe that rule 3 is the most intuitive and robust rule. If Tahoe is
able to place a share in a way that reduces the number of nodes needed to
recover a file, that should be done. That said, Tahoe should never
intentionally store the same share twice (or we could end up at the
degenerate case of all nodes have K shares).
(Most of the following echos what [comment:27 gdt] said.)
For example, I have a file encoded 2of5 and a grid with 2 nodes. Once each
node has a share, the file is recoverable and the "Servers-of-Happiness-
Level" cannot increase any further. I believe that each node should
receive 2 shares distinct shares and the 5th should be discarded. This
will allow the file to be recovered from either node but not waste any
space on the grid. If a 3rd node comes online and a repair is preformed,
the 5th share should be regenerated and placed on the 3rd node (both
original nodes keep their same shares). If a 4th node comes online and a
repair is preformed, one of the original nodes should transfer a share to
the new node.
Hopefully this is clear. I know how confusing matching intuition with
formal definitions can be.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2107#comment:29>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list