Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

connectd: fix and further enhance our own gossip promotion #5200

Conversation

rustyrussell
Copy link
Contributor

The #5196 issue had me look harder at the propagation improvements, and doing some real life testing.

This is a larger PR than I would have liked, but the previous propagation "improvements" were woefully under tested. That's my fault, as I figured they couldn't make things worse (true, but they didn't make things better either!).

This attempted to make us re-xmit our own node_announcement at restart,
by moving the node_announcement to the end of the gossip store.  But,
as nothing is connected, yet, this had no effect!

We will rexmit it anyway, since it's marked PUSH.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
These are the ones which are for our own channels (and our own node_announcement).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@rustyrussell rustyrussell added this to the v0.11 milestone Apr 19, 2022
…ter.

We seem to have made node_announcement propagation *worse*, not
better.  Explorers don't see my nodes updates.

At least some LND nodes never send us timestamp_filter, so we are
never actually stream *any* gossip.  We should send gossip about
ourselves, even if they haven't set a filter (yet).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Added: Protocol: we more aggressively send our own gossip, to improve propagation chances.
We have an explicit filter against redundant node_announcement
updates; we only allow 1 a week.  This means that our change to force
a reannouncement every 24 hours did not work!

Allow once a day, instead.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
We shorten 24 hours to 24 seconds using --dev--fast-gossip-prune.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@rustyrussell rustyrussell force-pushed the guilt/connectd-always-send-local-gossip branch 2 times, most recently from 12c96f2 to 5b98323 Compare April 20, 2022 06:59
@cdecker
Copy link
Member

cdecker commented Apr 20, 2022

ACK 5b98323

Will see if CI is just flaky or really has some issues.

@cdecker
Copy link
Member

cdecker commented Apr 20, 2022

Unsurprisingly test_websocket needs to be adjusted or skipped now that we no longer announce websocket addresses, otherwise this looks like it'd pass CI.

This seems to prevent broad propagation, due to LND not allowing it.  See
	lightningnetwork/lnd#6432

We still announce it if you disable deprecated-apis, so tests still work,
and hopefully we can enable it in future.

Fixes: ElementsProject#5196
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: Protocol: disabled websocket announcement due to LND propagation issues
@rustyrussell rustyrussell force-pushed the guilt/connectd-always-send-local-gossip branch from 5b98323 to 5db0d25 Compare April 20, 2022 11:02
@rustyrussell rustyrussell merged commit 37e8d2f into ElementsProject:master Apr 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants