[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2788: cache server information, use later (with overrides)

Tahoe-LAFS trac at tahoe-lafs.org
Wed May 11 23:56:47 UTC 2016


#2788: cache server information, use later (with overrides)
--------------------------+---------------------------
 Reporter:  warner        |          Owner:
     Type:  enhancement   |         Status:  new
 Priority:  normal        |      Milestone:  undecided
Component:  code-network  |        Version:  1.11.0
 Keywords:                |  Launchpad Bug:
--------------------------+---------------------------
 This ticket is for implementing the cache/reuse/override scheme described
 in #2759 (but that ticket is specifically about multiple Tubs, which is
 already done).

 Here are the relevant ideas, copied from #2759:

 * this relates to #68 multi-introducer, and #517 server-override
 * store each introducer's data is written into a cache file (YAML-format,
 with one clause per server)
 * there is also an override file, which contains YAML clauses of server
 data that should be used instead-of/in-addition-to the data received from
 the introducer
 * the !StorageFarmBroker, when deciding how to contact a server, combines
 data from all introducers, then updates that dict with data from the
 override file

 workflow:
 * start up the node normally, wait for the introducers to collect
 announcements
 * copy the cached clauses for his local servers into the override file
 * edit the override file to modify the FURL to use a direct
 "tcp:HOST:PORT" hint, instead of the "tor:XYZ.onion:80" hint that they
 advertised

 So our idea was that each YAML clause has two chunks of data: one local,
 one copied from the introducer announcement. The local data should include
 a string of some form that specifies the properties of the Tub that should
 be used for connections to this server. The !StorageFarmBroker will spin
 up a new Tub for each connection, configure it according to those
 properties, then call getReference() (actually connectTo(), to get the
 reconnect-on-drop behavior).

 The tahoe.cfg settings for foolscap connection-hint handlers get written
 into the cached introducer data. !StorageFarmBroker creates Tubs that obey
 those rules because those rules are sitting next to the announcement that
 will contain the FURL.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2788>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


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