If node exit abnormally because UpdateM1() return error during reorg, the database become corrupted. When we start node at this time, the node will complain:
Fatal: Error starting protocol stack: missing block number for head header hash
This PR keep database in normal state when UpdateM1() fails by save the incoming blocks during reorg.
Types of changes
What types of changes does your code introduce to XDC network?
Put an ✅ in the boxes that apply
[X] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)
[ ] Regular KTLO or any of the maintaince work. e.g code style
[ ] CICD Improvement
Impacted Components
Which part of the codebase this PR will touch base on,
Put an ✅ in the boxes that apply
[ ] Consensus
[ ] Account
[ ] Network
[ ] Geth
[ ] Smart Contract
[X] External components
[ ] Not sure (Please specify below)
Checklist
Put an ✅ in the boxes once you have confirmed below actions (or provide reasons on not doing so) that
[X] This PR has sufficient test coverage (unit/integration test) OR I have provided reason in the PR description for not having test coverage
[ ] Provide an end-to-end test plan in the PR description on how to manually test it on the devnet/testnet.
[ ] Tested the backwards compatibility.
[ ] Tested with XDC nodes running this version co-exist with those running the previous version.
[ ] Relevant documentation has been updated as part of this PR
Proposed changes
If node exit abnormally because
UpdateM1()
return error during reorg, the database become corrupted. When we start node at this time, the node will complain:This PR keep database in normal state when
UpdateM1()
fails by save the incoming blocks during reorg.Types of changes
What types of changes does your code introduce to XDC network? Put an
✅
in the boxes that applyImpacted Components
Which part of the codebase this PR will touch base on,
Put an
✅
in the boxes that applyChecklist
Put an
✅
in the boxes once you have confirmed below actions (or provide reasons on not doing so) that