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

feat(pd): special handling of seed nodes in join #3155

Merged
merged 1 commit into from
Oct 10, 2023
Merged

Conversation

conorsch
Copy link
Contributor

@conorsch conorsch commented Oct 5, 2023

When joining a network via pd testnet join, pd already inspects the peers known to the target bootstrap node, and includes those peers in the generated CometBFT config. Technically it's not correct to assume that these peers are seeds, but limiting to a threshold (#3063) ensures that only a few nodes will be miscategorized this way.

The new behavior introduced here is that pd testnet join will inspect monikers of peers learned from the bootstrap node, and if the string "seed" appears in the moniker, guarantee that peer lands in the seeds field of the CometBFT config.

To complement this change, we update the deployment logic to create a seed node, and ensure that seed node is excluded from the loadbalanced RPC, to avoid hitting it via the join request (in which case it won't report many peers, because seed nodes drop peer connections after serving address info).

Refs #3056.

When joining a network via `pd testnet join`, pd already inspects
the peers known to the target bootstrap node, and includes those peers
in the generated CometBFT config. Technically it's not correct to assume
that these peers are seeds, but limiting to a threshold (#3063) ensures
that only a few nodes will be miscategorized this way.

The new behavior introduced here is that `pd testnet join` will inspect
monikers of peers learned from the bootstrap node, and if the string
"seed" appears in the moniker, guarantee that peer lands in the `seeds`
field of the CometBFT config.

To complement this change, we update the deployment logic to create a
seed node, and ensure that seed node is excluded from the loadbalanced
RPC, to avoid hitting it via the join request (in which case it won't
report many peers, because seed nodes drop peer connections after
serving address info).

Refs #3056.
@conorsch conorsch requested a review from zbuc October 5, 2023 23:08
@conorsch conorsch temporarily deployed to smoke-test October 5, 2023 23:08 — with GitHub Actions Inactive
@conorsch conorsch merged commit 0d62255 into main Oct 10, 2023
8 checks passed
@conorsch conorsch deleted the create-seed-node branch October 10, 2023 16:11
conorsch added a commit that referenced this pull request Oct 10, 2023
Follow up to #3155. We've been using moon names as a mnemonic for
human-readable names for services related to Penumbra testnets. Due to a
typo, the moon of Neptune "Naiad" was misspelled, and that typo made it
into a few config files. This is a purely cosmetic change with zero
impact on service behavior or performance.
conorsch added a commit that referenced this pull request Oct 10, 2023
Follow up to #3155. We've been using moon names as a mnemonic for
human-readable names for services related to Penumbra testnets. Due to a
typo, the moon of Neptune "Naiad" was misspelled, and that typo made it
into a few config files. This is a purely cosmetic change with zero
impact on service behavior or performance.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant