[tahoe-lafs-trac-stream] [tahoe-lafs] #393: mutable: implement MDMF

tahoe-lafs trac at tahoe-lafs.org
Mon Aug 1 23:48:14 PDT 2011


#393: mutable: implement MDMF
-------------------------+-------------------------------------------------
     Reporter:  warner   |      Owner:  nejucomo
         Type:           |     Status:  new
  enhancement            |  Milestone:  1.9.0
     Priority:  major    |    Version:  1.0.0
    Component:  code-    |   Keywords:  newcaps performance random-access
  mutable                |  privacy gsoc mdmf mutable backward-
   Resolution:           |  compatibility forward-compatibility review-
Launchpad Bug:           |  needed
-------------------------+-------------------------------------------------

Comment (by nejucomo):

 I applied attachment:393status47.dpatch and attachment:fix-test-
 failures-393.darcs.patch and now have only
 {{{test_mutable.Filenode.test_mdmf_write_count}}} as the only
 error/failure with the same error as comment:102.

 Here's my analysis so far:  It appears as if this one unittest is relying
 on a unittest-specific interface to
 {{{allmydata.storage_client.StorageFarmBroker}}} which is not present in
 the trunk state with the above patches.  Specifically,
 {{{StorageFarmBroker}}} *does* provide a unittest-specific interface with
 methods called {{{test_add_rref}}} and {{{test_add_server}}}.  These
 modify a member called {{{servers}}}.

 I suspect that the version of {{{StorageFarmBroker}}} which the test was
 written against had separate {{{servers}}} and {{{test_servers}}} members,
 whereas the version in this repo now only has {{{servers}}}.

 I attempted to change the attribute {{{test_servers}}} to {{{servers}}} in
 the test, and it proceeds to iterate over the values which are instances
 of {{{NativeStorageServer}}} in this loop:

 {{{
             for peer in peers:
                 self.failUnlessEqual(peer.queries, 1)
 }}}

 However, the test then fails when evaluating the assertion because the
 {{{NativeStorageServer}}} instances do not have {{{.queries}}} members.

 The interface changes between the test expectation and the actual code are
 larger than my guess-and-check approach accommodates for now.

 I'm going to sleep on this.  My next step will be to see if I can get
 darcs to show me which patches have modified the {{{storage_client.py}}}
 APIs away from the unittest code in order to see how to bring the test up-
 to-date.

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/393#comment:104>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage


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