-
-
Notifications
You must be signed in to change notification settings - Fork 300
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
feat: debug too many shuffling promises #7251
Conversation
Performance Report✔️ no performance regression detected 🚀🚀 Significant benchmark improvement detected
Full benchmark results
|
13ec544
to
79e2401
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #7251 +/- ##
============================================
- Coverage 49.14% 48.50% -0.65%
============================================
Files 600 600
Lines 40121 40146 +25
Branches 2093 2058 -35
============================================
- Hits 19719 19471 -248
- Misses 20364 20637 +273
Partials 38 38 |
since the issue only happen at syncing time, I suggest testing this code by getting a node, try to get state of an old checkpoint and sync from there |
@twoeths it works. Deleted the db and sync'd from checkpoint on mainnet and holesky. |
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
Motivation
Non-Finality devnet showed an error with this when a lot of old blocks were coming across the network.
Only async calculate shuffling during epoch transitions. For normal slot progression that goes through an epoch transition the shuffling will be queued for async calculation in beforeProcessEpoch. For all other situations (validation and regen primarily) the shufflings will get calculated JIT in afterProcessEpoch. They only need to be calculated if two epoch transitions pass and the
nextShuffling
is moved tocurrentShuffling
.part of #7244