-
Notifications
You must be signed in to change notification settings - Fork 261
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
v1.18: retains chained Merkle root across leader slots (backport of #1057) #1182
Conversation
Looking up Merkle root of the last erasure batch for the parent block can fail if the slot-meta is not yet available in blockstore. This commit instead retains chained Merkle root across leader slots. If the parent of the current block is the previous leader slot, then the chained Merkle root is readily available and we can bypass blockstore lookup. (cherry picked from commit 6b45dc9)
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## v1.18 #1182 +/- ##
=========================================
- Coverage 81.6% 81.6% -0.1%
=========================================
Files 827 827
Lines 225352 225332 -20
=========================================
- Hits 184011 183994 -17
+ Misses 41341 41338 -3 |
@sakridge @CriesofCarrots @t-nelson This change has been pending for more than 2 weeks. |
@sakridge @CriesofCarrots @t-nelson |
Yes, pending without any context posted on the PR. |
@CriesofCarrots if you have specific questions about the code and change please ask. |
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.
review coordinated offline. i'm ok with these changes now
…nza-xyz#1057) (anza-xyz#1182) retains chained Merkle root across leader slots (anza-xyz#1057) Looking up Merkle root of the last erasure batch for the parent block can fail if the slot-meta is not yet available in blockstore. This commit instead retains chained Merkle root across leader slots. If the parent of the current block is the previous leader slot, then the chained Merkle root is readily available and we can bypass blockstore lookup. (cherry picked from commit 6b45dc9) Co-authored-by: behzad nouri <behzadnouri@gmail.com>
Problem
Looking up Merkle root of the last erasure batch for the parent block can fail if the slot meta are not yet available in blockstore.
When a leader generates blocks for its consecutive leader slots, instead of using blockstore, it can retain chained Merkle root across its leader slots.
Summary of Changes
Retain chained Merkle roots across leader slots.
This is an automatic backport of pull request #1057 done by Mergify.