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

Resolving blocksync for hard forks #22532

Closed
trevormil opened this issue Nov 14, 2024 · 2 comments
Closed

Resolving blocksync for hard forks #22532

trevormil opened this issue Nov 14, 2024 · 2 comments
Labels
needs-triage Issue that needs to be triaged

Comments

@trevormil
Copy link

trevormil commented Nov 14, 2024

Hello. We recently ran into an issue where we had to revert the chain back to a block (let's call it block height N). I used the 1) export genesis, 2) have all nodes load from that genesis, and 3) chaind comet unsafe-reset-all to get everything back up and running again.

However, we have now lost the ability to blocksync from genesis due to have two disjoint data sets (1 to (N-1)) and (N to Current). This is because the block N doesn't have a last block ID pointer to N - 1 (since none of the nodes had block N - 1 due to the reset all command). This pointer is empty.

We can load from 1 to (N - 1) and (N - Current), but we have no way to join the two sets for a full archived node all in one place.

Yes, everything else still works fine and you can use statesync / snapshots, but I was wondering is there an easy way to resolve this for blocksync mode? Is there a way we can just like manually trust that specific block without a last block pointer?

@github-actions github-actions bot added the needs-triage Issue that needs to be triaged label Nov 14, 2024
@github-project-automation github-project-automation bot moved this to 📋 Backlog in Cosmos-SDK Nov 14, 2024
@tac0turtle
Copy link
Member

hey, its unfortunate you ran into this issue. If there is anything we can help explain to help avoid this in the future please let us know. For the issue at hand unfortunately there is noting we can do. You will need to document the version at which height and have node operators swap binaries at that height. Technically these are two distinct chains and resolving them in code for software like Cosmos SDK and comet is difficult.

Ill close this issue, but let us know if we can help in the future. 😄

@github-project-automation github-project-automation bot moved this from 📋 Backlog to 🥳 Done in Cosmos-SDK Nov 15, 2024
@trevormil
Copy link
Author

@tac0turtle Thanks, that is what I figured.

For future reference, what is the correct way for handling chain halts like this? I guess the revert + unsafe-reset-all is not the standard approach then?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-triage Issue that needs to be triaged
Projects
Status: 🥳 Done
Development

No branches or pull requests

2 participants