[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 15:45:13 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 zooko):
Replying to [comment:31 zooko]:
>
> ''Servers-of-Happiness-Level: how many "server↔share" pairs are there,
'''not''' counting any server more than once and '''not''' counting any
share more than once.''
…following-up to my own post…
Oh, to be more precise, we have to specify that the Servers-of-Happiness-
Level is the size of the ''largest'' such set of "server↔share" pairs.
There is only one such set of "server↔share" pairs in the "ideal" case
(e.g. number of servers > {{{N}}}, no server disconnects before an upload
and then reconnects after an upload, etc.), but there could be different
ways to choose "server↔share" pairs in non-ideal cases, such as:
"server↔share" pairs:
* server 0 ↔ share 1
* server 1 ↔ share 1
* server 1 ↔ share 2
* server 2 ↔ share 2
To determine what the Servers-of-Happiness-Level of this situation is, you
have to pick a subset of the pairs so that the resulting subset doesn't
have any server appearing more than once or any share appearing more than
once. Therefore the ''Servers-of-Happiness-Level'' of this situation is
{{{2}}}.
So, this ticket (#2107) is about an uploader or repairer choosing ''not''
to upload a share to any server, if uploading that share would not
increase the Servers-of-Happiness-Level. For example, in the case shown
above, if the uploader is considering uploading share 0, it could do that
an increase the Servers-of-Happiness-Level from {{{2}}} to {{{3}}}:
"server↔share" pairs:
* server 0 ↔ share 0
* server 0 ↔ share 1
* server 1 ↔ share 1
* server 1 ↔ share 2
* server 2 ↔ share 2
But once it has done that, if it is then considering uploading share 3, it
''cannot'' increase the Servers-of-Happiness-Level by uploading share 3,
so if #2107 is accepted, it will not upload share 3 at all.
If I understand correctly, sickness, amontero, and recent-zooko are in
favor of #2017 — do ''not'' upload a share if doing so does not increase
the Servers-of-Happiness-Level — and gdt and previous-zooko are in favor
of the opposite — go ahead and upload an extra share even if it doesn't
increase Servers-of-Happiness-Level. I ''think'' PRabahy's comment:29 is
suggesting a different metric (which doesn't yet have a name), and in
order to achieve that metric you have to upload shares even when uploading
them doesn't increase the Servers-of-Happiness-Level.
Daira's comment:28 is pretty persuasive to me: let's not do ticket #2107
until after Tahoe-LAFS v1.11 is released, on the basis of not changing
multiple things at a time unnecessarily.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2107#comment:32>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list