-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Allow raft to recover state after non-graceful shutdown in non-archive mode #860
Conversation
…ync up post non-disgraceful shutdown
Continue in loop instead of if/else.
…l' into raft-enable-gcmode-full
FYI I've been performing some investigation to reproduce a scenario where disk filling up was causing raft issues. I discovered that when disk space ran out, raft crashed and corrupted the logs, in the same way as when it's killed non-gracefully. I re-tested using your branch (3 times) and can confirm that your code changes fix the issue for my scenario too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes include:
- Revert set gcmode=archive always for Raft #727
- Replay blocks from snapshot
System information
Geth version: v2.2.4
OS & Version: Windows/Linux/OSX
Expected behaviour
In case of non graceful shutdown of a node running with Raft consensus, when the node joins back the network it should be able to sync up with rest of network.
Actual behaviour
Post non graceful shutdown of the node, the node is not able sync up with the network. Logs show the following error:
Steps to reproduce the behaviour
Bring up the network with geth nodes running in --gcmode full
Do a non-graceful shutdown of one of the nodes kill -9 and bring back the node
Closes #814, fixes #807