[tahoe-dev] [tahoe-lafs] #68: implement distributed introduction, remove Introducer as a single point of failure

tahoe-lafs trac at tahoe-lafs.org
Tue Jul 6 19:23:57 UTC 2010


#68: implement distributed introduction, remove Introducer as a single point of
failure
------------------------------+---------------------------------------------
     Reporter:  lvo           |       Owner:  nobody                                    
         Type:  enhancement   |      Status:  new                                       
     Priority:  major         |   Milestone:  eventually                                
    Component:  code-network  |     Version:  0.2.0                                     
   Resolution:                |    Keywords:  scalability availability introduction gsoc
Launchpad Bug:                |  
------------------------------+---------------------------------------------

Comment (by zooko):

 Replying to [comment:29 writefaruq]:
 > {{{allmydata.client.Client.self.introducer_furl}}} is called from
 {{{allmydata.web.root.Root}}} for fetching the list of introducer furls.
 But that can be replaced by new code that is tested  by
 {{{test_root.py}}}.  {{{self.introducer_furl}}} is also called from
 various testing modules, e.g. test/common.py (line 471). I'm not sure if
 they need to be patched at this moment.

 As I mentioned on IRC, I want you to do "test-driven development" on this
 part. Step 1 is to remove the attribute {{{introducer_furl}}} from the
 {{{allmydata.client.Client}}} class. Step 2 is to run the complete
 (current) test suite and see which tests, if any, go red. Step 3 is to
 think about the places that you know of in the code that refer to the old,
 now-removed attribute, and think about whether the tests that are
 currently red are the right tests to exercise those places of the code. If
 they are not the right way to test that code (they test that code only "by
 accident", in some sense, or you think it is a bad way to test that code
 for some reason) then write a new test that tests that code. Now for the
 important point in "test-driven development": you are ''not'' allowed to
 fix the bad code which refers to the now-deleted {{{introducer_furl}}}
 attribute ''until'' you have a red test which you think is a good test for
 that code! Step 4: fix the code. :-)

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/68#comment:30>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized file storage grid


More information about the tahoe-dev mailing list