[tahoe-lafs-trac-stream] [tahoe-lafs] #1636: Unhandled error in Deferred during retrieve

tahoe-lafs trac at tahoe-lafs.org
Tue Jun 12 22:40:15 UTC 2012


#1636: Unhandled error in Deferred during retrieve
-------------------------+-------------------------------------------------
     Reporter:           |      Owner:  davidsarah
  killyourtv             |     Status:  new
         Type:  defect   |  Milestone:  1.9.2
     Priority:           |    Version:  1.9.0
  critical               |   Keywords:  regression test-needed review-
    Component:  unknown  |  needed
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------
Changes (by warner):

 * keywords:  regression test-needed => regression test-needed review-needed
 * owner:  warner => davidsarah


Comment:

 attachment:dead-rref.diff implements zooko's second approach from
 comment:11, namely to make the {{{IServer}}} retain the dead
 {{{RemoteReference}}} after disconnect, and continue to return it to
 anyone who calls {{{get_rref()}}}. This removes the need for callers to
 guard against receiving a {{{None}}} (as long as the server was connected
 at least once, which is always the case for servers returned by
 {{{get_servers_for_psi()}}}, which is how all upload/download code gets
 servers).

 This patch should remove the problem. A later cleanup step could go the
 callers of get_rref() and remove the now-redundant guards, but a better
 change would be to remove get_rref() and have callers do
 {{{server.callRemote()}}}, which will then be replaced by higher-level
 actions like {{{server.putShare()}}} as we move away from Foolscap.

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


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