You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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?
The text was updated successfully, but these errors were encountered:
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. 😄
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?
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?
The text was updated successfully, but these errors were encountered: