Fix sync pivot not set when dbload #6080
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Unable to find beacon header at height 18051001. This is unexpected, forcing a new beacon sync.
andPeer sent orphaned blocks/headers inside the batch
.BlockTree.AcceptVisitor
take too long (I don't know how @kamilchodola did that),DbLoad
in MSMS will get activated and pivot updater will get deactivated and disabled. This causes it to not update sync pivot. On restart, the pivot updated will reactivate and set a different sync pivot, but blocktree already initialized various pointers with respect to old pivot causing forward sync to start from before the sync pivot which causes the errors.Thread.Sleep(1000)
inReviewBlockTree
around line 67.Thread.Sleep(1000)
inBlockTree.AcceptVisitor
around line 22.FastHeader
.BlockTree.AcceptVisitor
.Changes
Types of changes
What types of changes does your code introduce?
Testing
Requires testing
If yes, did you write tests?
Notes on testing