[tahoe-lafs-trac-stream] [tahoe-lafs] #1679: Nondeterministic NoSharesError for direct CHK download in 1.8.3 and 1.9.1

tahoe-lafs trac at tahoe-lafs.org
Tue Oct 30 18:00:59 UTC 2012


#1679: Nondeterministic NoSharesError for direct CHK download in 1.8.3 and 1.9.1
-------------------------+-------------------------------------------------
     Reporter:           |      Owner:  nejucomo
  nejucomo               |     Status:  new
         Type:  defect   |  Milestone:  soon
     Priority:           |    Version:  1.8.3
  critical               |   Keywords:  download heisenbug lae test-needed
    Component:  code-    |  review-needed
  network                |
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by nejucomo):

 Can I test this manually without waiting for or writing a unittest?

 In order to do so, I need some more clarification:

 Where does the invalid cache live?  Is it in the downloading gateway?
 Does that mean if the gateway cannot connect to the storage server during
 an immutable download, then the cache records this fact and is not
 correctly bypassed later?

 If all those are true, a manual test would be:

 a. Pick a known-uploaded CHK cap which has *not* been recently downloaded
 by the target gateway.

 b. Prevent the gateway from connecting to relevant storage servers.  (For
 LAE service this is easier because there's only one storage node; ifdown
 $iface can work for a local gateway test, or adding a special temporary
 black-hole route for the storage node IP might work for a remote gateway.)

 c. Attempt to fetch that CAP on the network-impaired gateway.

 d. Repair the network of the gateway.

 e. Attempt to fetch that CAP again.  If the fetch fails, this is evidence
 of the bug.  If not, there's some flaw in these assumptions.

 f. If e. produces evidence of the bug, then stop that gateway, apply the
 patch, start the patched gateway and repeat steps a. through e. (with a
 *new* CAP to help control the experiment).

 g. Publish the results of step e. in the first iteration (unpatched) and
 the second iteration (patched).

 At the same time or afterwards, write a unittest.

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1679#comment:20>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list