-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
storage-bigtable: Upload entries #34099
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #34099 +/- ##
=========================================
- Coverage 81.9% 81.8% -0.1%
=========================================
Files 816 816
Lines 219781 219807 +26
=========================================
- Hits 180009 179960 -49
- Misses 39772 39847 +75 |
da83052
to
eef0f56
Compare
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.
Code is looking good, just a few general questions
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
Problem
Blocks stored on bigtable are flattened, so they don't include the entry data that would allow block hashes to be verified.
Other historical ledger archives (like foundation storage buckets and Old Faithful) do include entry data, but it would provide additional redundancy if the bigtable store were made complete.
Summary of Changes
Add entries table to default bigtable setup
Upload entry summary data in
bigtable_upload
(used by bothsolana-ledger-tool bigtable upload
and the BigtableUploadService). Entry-summary data is the entry data minus the actual transactions, plus a little extra indexing data to make it easy to regenerate entries from the flattened list of transactions. (This parallels geyser Entry notifications.)✅
Needs rebase on #34098Handling for deleting entries (on block delete) and warehousing docs will be PRed separately.