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

Improve the legacy chain panic message #2394

Closed
Tracked by #2310
teor2345 opened this issue Jun 25, 2021 · 1 comment
Closed
Tracked by #2310

Improve the legacy chain panic message #2394

teor2345 opened this issue Jun 25, 2021 · 1 comment
Labels
A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement I-usability Zebra is hard to understand or use NU-0 Overwinter Network Upgrade: Overwinter specific tasks (Sprout after Overwinter)

Comments

@teor2345
Copy link
Contributor

Motivation

We implemented a legacy chain check in #2366.

But it would help users if we told them the invalid network upgrade, the expected network upgrade, and the failing height.

We should also see what happens if someone installs an old version, then tries to open a new state. (I think the old version will panic when it parses an unrecognised branch id in a transaction.)

Priority

This situation should be reasonably rare, so usability improvements are a low priority.

Specifications

If a user does not upgrade their node to a compatible software version before ACTIVATION_HEIGHT is reached, and the node continues running (which could normally only occur if the End-of-Service halt were bypassed), then the node will follow any pre-upgrade consensus branch that persists. In this case it may download blocks that are incompatible with the post-upgrade consensus branch.
If the user subsequently upgrades their node to a compatible software version, the node will consider these blocks to be invalid, and if there are a significant number of invalid blocks it SHOULD shut down and alert the user of the issue.

https://zips.z.cash/zip-0200#post-activation-upgrading

Designs

The current design is documented in the legacy_chain_check function.

@teor2345 teor2345 added A-rust Area: Updates to Rust code NU-0 Overwinter Network Upgrade: Overwinter specific tasks (Sprout after Overwinter) C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage P-Low I-usability Zebra is hard to understand or use labels Jun 25, 2021
@teor2345
Copy link
Contributor Author

teor2345 commented Mar 1, 2022

This change isn't needed.

@teor2345 teor2345 closed this as completed Mar 1, 2022
@mpguerra mpguerra removed the S-needs-triage Status: A bug report needs triage label Sep 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement I-usability Zebra is hard to understand or use NU-0 Overwinter Network Upgrade: Overwinter specific tasks (Sprout after Overwinter)
Projects
None yet
Development

No branches or pull requests

2 participants