[tahoe-lafs-trac-stream] [tahoe-lafs] #1765: gossip-introducer should include timeouts
tahoe-lafs
trac at tahoe-lafs.org
Tue Jun 12 23:09:29 UTC 2012
#1765: gossip-introducer should include timeouts
----------------------------+------------------------
Reporter: warner | Owner: warner
Type: enhancement | Status: new
Priority: normal | Milestone: soon
Component: code-nodeadmin | Version: 1.9.1
Keywords: | Launchpad Bug:
----------------------------+------------------------
Just a note-to-self: when #68 gets working, and decentralized
gossip-based introduction is implemented, we should make sure the
announcements are:
* 1: refreshed periodically
* 2: are dropped by clients when they're stale
The idea is that a server who has left the grid permanently should
eventually be forgotten by everyone else. Gossip never forgets
(even if you forget it locally, you'll be reminded by your cohorts,
and if you don't remember what you forgot, you'll fail to forget it
again).
The simplest way to accomplish this is with a timestamp in the
announcement, and to prune entries more than maybe a month old.
(but wait a few minutes after startup to do that, so if you leave
your node offline for several months, it still has a chance to
connect to somebody and fetch fresh announcements).
We aren't usually keen on timestamps, in particular comparing time
from different nodes (in this case, the announcement's timestamp
plus one month versus the client's clock). But I think this would
be a reasonable use of clocks. As of yesterday, the announcement
record includes a timestamp, named "seqnum" (so named because I
didn't want to make any claims about it's use as a timestamp, but
merely as a mostly-monotonically increasing number, used to decide
when one announcement may replace another).
Maybe I should rename that to "when" or "announcement-time"?
The Introducer Client still needs code to refresh its announcements
periodically (once a week would be fine). Currently it only
refreshes them at node boot, and we don't want live-and-connected
nodes with good uptime to start being ignored merely because they
weren't rebooted frequently enough.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1765>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list