<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="DejaVu Sans Mono">I apologize if this is an
      already-discussed issue...<br>
      <br>
      Message from Tahoe-LAFS:<br>
      <br>
      allmydata.interfaces.UploadUnhappinessError: shares could be
      placed on only <font color="#ff6600">4</font> server(s) such that
      any <font color="#cc6600">3</font> of them have enough shares to
      recover the file, but we were asked to place shares on at least <font
        color="#cc6600">5</font> (shares.happy) such servers. (placed
      all <font color="#cc6600">7</font> (shares.total) shares, want to
      place shares on at least <font color="#cc6600">5</font>
      (shares.happy, again) servers such that any <font color="#cc6600">3</font>
      (shares.needed) of them have enough shares to recover the file,
      sent <font color="#ff6600">19</font> queries to <font
        color="#ff6600">14</font> servers, <font color="#ff6600">7</font>
      (shares.total?) queries placed some shares, <font color="#ff6600">12</font>
      placed none (of which <font color="#ff6600">2</font> placed none
      due to the server being full and <font color="#ff6600">10</font>
      (2+10=12) placed none due to an error))\x0a"<br>
      <br>
      10 not placed because of an error?  Can the message be specific?<br>
      <br>
      And now the issue:<br>
      <br>
      real   <font color="#ff0000">116m</font>14.657s<br>
      user     0m0.660s<br>
      sys      0m0.120s<br>
      <br>
      My Tahoe.cfg:<br>
      # What encoding parameters should this client use for uploads?<br>
      shares.needed = 3<br>
      shares.happy = 5<br>
      shares.total = 7<br>
      <br>
      <font color="#336666">Almost 2 hours to both succeed and fail. 
        Can Tahoe-LAFS take over and store shares on an "acceptable"
        number of servers, and do it quickly.<br>
        <br>
        I seems that rigorous adherence to shares.happy is not the best
        way to go.  If shares.happy can be a "suggestion," (+/- 1 or 2,
        specified, or some algorithmically determined departure from the
        given value) would be a better choice.<br>
        Like:<br>
        shares.happy = 5 (-1)<br>
        to specify that it's OK to store shares on 4 if it's taking too
        long, like over a minute.  I'd prefer 5, but if that cannot be
        accomplished in a timely manner, then 4 is good enough.</font><br>
      <br>
      PITA-ingly,<br>
      Ted<br>
    </font>
  </body>
</html>