#1933 new enhancement

announcement seqnums: respond to state-rollback

Reported by: warner Owned by:
Priority: normal Milestone: undecided
Component: code-network Version: 1.9.2
Keywords: Cc:
Launchpad Bug:


In the #1767 sequence-number-based introducer announcements fix, we deferred a few TODO items:

  1. if a publisher receives its own announcement (same pubkey, valid signature) with a higher seqnum, or with an equal seqnum but different contents, immediately raise its seqnum to be one higher than the received value and re-publish all announcements
  2. if a subscriber receives an annoucement that is older (lower seqnum or same-seqnum-different-contents) than what it has remembered for that index (index=pubkey+servicename), send the remembered announcement back to the publisher (so they can learn about their rollback and perform thing 1 above)

The introducer server (while we still have one, e.g. until distributed/gossip-based introduction happens) is the best place to notice the rollback and tell the publisher, perhaps in the return value from the remote_publish_v2() method. Other introducer clients should do the same thing, but all they can do is publish the stored announcement on the same channel (service name) as the original, which the publisher may not be listening to (like a storage server who doesn't subscribe to "storage" because they don't care).

Change History (0)

Note: See TracTickets for help on using tickets.