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

pd: test bootstrapping a new node using an out-of-band snapshot #3482

Closed
Tracked by #3081
erwanor opened this issue Dec 6, 2023 · 1 comment
Closed
Tracked by #3081

pd: test bootstrapping a new node using an out-of-band snapshot #3482

erwanor opened this issue Dec 6, 2023 · 1 comment
Assignees

Comments

@erwanor
Copy link
Member

erwanor commented Dec 6, 2023

After a chain upgrade, cometbft resets its block store and starts a new chain beginning at the height specified in the genesis file (see #3451 for context). This is problematic because penumbra full nodes use cometbft's block sync as a replay-log. Nodes bootstrap by reconstructing the chain state since genesis, executing state transitions, until they have reached the tip of the chain.

We need to design around this limitation. There are two strategies that we could employ:

  1. rely entirely on off-chain db snapshot distributions

Post-migration, validators and node operators make a snapshot of the state available via public channels. This is far from ideal, but match the reality of how production cosmos chains handle post-upgrade bootstrapping. For example, see quicksync.io, osmosis snapshots, polkachu's snapshot page, cosmos snapshot directory, or lavenderfive snapshots etc.

  1. build an in-band state sync mechanism

We're not going to do that for the foreseeable future.

We need to test that a node is able to join a post-upgrade network using a hosted state snapshot.

@conorsch
Copy link
Contributor

conorsch commented Jan 4, 2024

See details in #3081: we tested this implicitly by performing the upgrade procedure, and successfully restarting a node using the migrated local state. We didn't explicitly write a plan or tooling about how or where such snapshots should be hosted, but that's not a problem we need to resolve now. We've verified that the upgrade tooling is adequate to allow the network to continue post-upgrade.

@conorsch conorsch closed this as completed Jan 4, 2024
@github-project-automation github-project-automation bot moved this from Testnet 64: Titan to Testnet 63: Rhea (Web Wallet) in Testnets Jan 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Testnet 63: Rhea (Web Wallet)
Development

No branches or pull requests

2 participants