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: add support for running in paused 'archive node' mode #4494

Open
avahowell opened this issue May 28, 2024 · 2 comments
Open

pd: add support for running in paused 'archive node' mode #4494

avahowell opened this issue May 28, 2024 · 2 comments
Assignees
Labels
A-upgrades Area: Relates to chain upgrades needs-refinement unclear, incomplete, or stub issue that needs work

Comments

@avahowell
Copy link
Contributor

Is your feature request related to a problem? Please describe.
In the CometBFT ecosystem, an 'archive node' refers to a node that is running an from an old (pre-upgrade) genesis, used to serve Comet RPC requests for data during that epoch. Post upgrade, any state from a pre-upgrade epoch is not queryable by the CometBFT RPC. This presents a problem for use cases such as relayers, which use the Comet RPC in order to fetch headers to use to build client updates. As such, it is typical for CometBFT operators to run a pre-upgrade node in a 'frozen' state, where that node only exists to serve RPC requests for headers from the pre-upgrade epoch, known as an 'archive node'.

There is not currently a natively supported pathway in pd for running in 'archive' mode (not producing any blocks, but still remaining online so as not to halt CometBFT).

Describe the solution you'd like
We should add a flag to pd start, pd start --archive, that configures pd so that it expects to run in a frozen 'archive' state.

--archive should:

  • Ignore/override any upgrade parameters indicating that the node should halt due to an upgrade.
  • Instruct pd to not respond to any consensus-related ABCI requests. This should be done in a way that avoids pd or CometBFT halting.
  • Instruct pd to not respond to any mempool-related ABCI requests. This should be done in a way that avoids pd or CometBFT halting.
@github-actions github-actions bot added the needs-refinement unclear, incomplete, or stub issue that needs work label May 28, 2024
@avahowell avahowell self-assigned this May 28, 2024
@avahowell avahowell added this to the Sprint 7 milestone May 28, 2024
@cratelyn cratelyn added the A-upgrades Area: Relates to chain upgrades label May 29, 2024
@conorsch
Copy link
Contributor

conorsch commented May 29, 2024

In support of the upcoming #4497, want a much slimmer implementation:

  • pd migrate ready-to-start which flips the halt bit off, permitting the node to start despite the halt bit

We already have migration code that does this: https://github.com/penumbra-zone/penumbra/blob/319a3d925e201be3d061536fc68951df714e1860/crates/bin/pd/src/migrate/reset_halt_bit.rs, it just needs to be wired up to the CLI.

conorsch added a commit that referenced this issue May 29, 2024
Adds a new flag to `pd migrate --ready-to-start` that makes an in-place
edit to local state, setting an enabled halt bit to false.

Refs #4494.
conorsch added a commit that referenced this issue May 30, 2024
Adds a new flag to `pd migrate --ready-to-start` that makes an in-place
edit to local state, setting an enabled halt bit to false.

Refs #4494.
@conorsch
Copy link
Contributor

conorsch commented Jun 3, 2024

Now that we have #4499, I think we can deprioritize this work to post-v1. Separately I'm working on reindexing an event db from historical backups. As long as that works end-to-end, I believe we can get by with the functionality we have today.

@aubrika aubrika modified the milestones: Sprint 7, Sprint 8 Jun 3, 2024
conorsch added a commit that referenced this issue Jun 12, 2024
Collects some information from the cuiloa README [0], as well as some
generalized instructions captured in #4566, particularly the use of
`--ready-to-start` from #4499. Refs #4494, closes #4566.

[0] https://github.com/penumbra-zone/cuiloa/blob/dc4133f7b36706cdf5a3ee6b4e0fb2c09e5a8bb8/README.md
conorsch added a commit that referenced this issue Jun 13, 2024
Collects some information from the cuiloa README [0], as well as some
generalized instructions captured in #4566, particularly the use of
`--ready-to-start` from #4499. Refs #4494, closes #4566.

[0] https://github.com/penumbra-zone/cuiloa/blob/dc4133f7b36706cdf5a3ee6b4e0fb2c09e5a8bb8/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-upgrades Area: Relates to chain upgrades needs-refinement unclear, incomplete, or stub issue that needs work
Projects
Status: Backlog
Development

No branches or pull requests

4 participants