-
-
Notifications
You must be signed in to change notification settings - Fork 318
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
backfill sync from an anchor checkpoint state #3384
Conversation
Code Climate has analyzed commit f9c977a and detected 12 issues on this pull request. Here's the issue category breakdown:
View more on Code Climate. |
Codecov Report
@@ Coverage Diff @@
## master #3384 +/- ##
==========================================
- Coverage 37.47% 37.40% -0.08%
==========================================
Files 311 311
Lines 8291 8318 +27
Branches 1282 1288 +6
==========================================
+ Hits 3107 3111 +4
- Misses 5036 5059 +23
Partials 148 148 |
f30c7e5
to
1afa813
Compare
|
@g11tech Remember to mark as "Ready for review" when appropiate! Draft PRs should be a transient state for unfinished work |
4rth graph is the error rate. |
This looks super good! Thank you so much for the detailed charts and progression ❤️ Will do another review in depth asap and should be good to go. |
thank you! 👍 |
ec9b0cf
to
5e82cb6
Compare
synopsis of a test run with the latest PR code:
@dapplion : Kindly review and let know if anything further needs to be fine tuned. |
…of last previous unverified finalized or wscheckpoint block
@dapplion updated the PR with the discussed changes (and rebased with current master). test run where backfill sync recovered previous progress and completed sync to genesis. 🙂 |
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.
Excellent! Looking forward to many more like this in 2022 🎉
Motivation
This PR is to backfill in a scenario when wss checkpoint or any other anchor state is used to start the beacon node.
Description
Right now, this PR rebases #2637 on current master, making it workable base to build on top of the mentioned previous PR
Fixes:
Created a backfilledSequences repository module, which tracks backfilled sequences like 384:key=> 211:value i.e. backfilled from slot 384 to 211 both including, in normal operation will typically store two sequences, one used by the backfill process and one used by the forward moving chain (which will upon finalizing will write a new sequence finalizedSlot=>chainStarted/anchorSlot). Any gaps in the db because of restarting with checkpoint sync will result into a new sequence entry, but the previous entry will be eliminated when the backfill syncs up the gap
InvalidWSCheckpoint
error (investigate: weak subjectivity checkpoint improper use #3385)BATCH_SIZE
in a single trigger cycle (in db reads or syncRange fetches)skipBackFillSync option?backfillTill: options i) till wsCheckpoint to be validated, ii)till GENESIS_SLOT (default) iii)till provided Slot
Tested Scenarios:
example of backfillSync recovering on a restart using previous backfilled sequence (jumped back from
1633696
to1437564
, and then continuing backfilling from there on:Closes #2556