[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