[volunteergrid2-l] I'm live. :)

David-Sarah Hopwood david-sarah at jacaranda.org
Fri Apr 6 20:54:04 UTC 2012


On 06/04/12 17:56, Shawn Willden wrote:
> I just updated my configuration to use:
> 
> shares.happy=20
> shares.total=20
> shares.needed=12
> 
> VG2 currently has 21 active nodes accepting shares (well, I thought it did; see below), so
> this should work, but I can't upload anything.  The error message I get is very interesting:
> 
> UploadUnhappinessError: shares could be placed on only 19 server(s) such that any 12 of
> them have enough shares to recover the file, but we were asked to place shares on at least
> 20 such servers. (placed all 20 shares, want to place shares on at least 20 servers such
> that any 12 of them have enough shares to recover the file, *sent 22 queries to 21
> servers, 20 queries placed some shares, 2 placed none (of which 2 placed none due to the
> server being full and 0 placed none due to an error)*) 
> 
> So, two things jump out at me:  First, that Tahoe sent 22 queries to 21 servers trying to
> place 20 shares.  Huh?  Why 22 queries?

Consider the point at which the upload has made 21 queries, one to each server, but
has only placed 19 shares, because two servers were full.

It now tries to place the 20th share, and must do so by making an extra query to one of
the non-full servers, which succeeds (resulting in two shares on that server).

After doing that, it finds that it has only achieved a happiness count of 19, and so
raises the UploadUnhappinessError. This is consistent with the error message.

The current uploader is not smart enough to look ahead and conclude that the upload
with shares.happy = 20 cannot possibly succeed because there are less than 20 non-full
servers. But that would only be an optimization, it wouldn't affect correctness.
(Note that upload and repair share the same code, and it wouldn't be correct to fail
in the repair case; that case should try to store the file as robustly as possible
whether or not the happiness threshold is achieved.)

> The second is that we have one full node... which actually I knew but had forgotten (the
> owner of that node has committed to making more space available sometime in the next three
> months).

There must be two full servers. If there had been only one full server, then the first
21 queries would have successfully placed 20 shares, and the upload would have succeeded.

-- 
David-Sarah Hopwood ⚥

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 554 bytes
Desc: OpenPGP digital signature
URL: <https://tahoe-lafs.org/cgi-bin/mailman/private/volunteergrid2-l/attachments/20120406/3b180805/attachment.pgp>


More information about the volunteergrid2-l mailing list