-
Notifications
You must be signed in to change notification settings - Fork 677
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
Bootup fixes for 2.05.0.2.0-rc1 #3112
Conversation
… do it on node boot-up. Also, downgrade the tx type for migraiton to DBTx so we don't accidentally depend on the first block header information (which we might not have)
…s public key, so also make sure that the last contact time is positive when considering timeouts
…ell as the `allowed` column
…to the latest schema before header sync
Codecov Report
@@ Coverage Diff @@
## develop #3112 +/- ##
===========================================
- Coverage 83.71% 83.54% -0.17%
===========================================
Files 260 260
Lines 200932 200982 +50
===========================================
- Hits 168210 167914 -296
- Misses 32722 33068 +346
Continue to review full report at Codecov.
|
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 assuming the node is really booting up :)
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
This PR fixes a couple of boot-up issues related to schema migrations and always-allowed peers when booting a 2.05.0.2.0-rc1 peer. In particular:
This PR fixes a runtime panic that arises when booting from genesis due to the unavailability of the first block snapshot.
This PR fixes a runtime panic that arises when booting from non-migrated chainstate due to needing the first block snapshot before attempting migrations to the latest schemas.
This PR makes it so that the public key of an always-allowed peer is reset from the config file on each boot-up.
This PR makes it so that an always-allowed peer is only considered to have timed out if it has replied to a previous message first (this is specific to always-allowed peers since they are always considered authenticated, which precludes relying on checking whether or not the public key is known to determine if a peer has been contacted).