-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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(en): Make state keeper work with pruned data #900
feat(en): Make state keeper work with pruned data #900
Conversation
1a31b74
to
ef8bbc2
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.
looks really good. For the amount of changes in invariants, I expected worse changes are needed on the code level.
Like the L1BatchParamsProvider
abstraction. I don't see a good way around it.
Are the new invariants documented anywhere? Like, what can programmer rely on when writing code that runs agains our DB? Something like:
- there are no gaps in miniblock/l1 batch indices
- if miniblock #N is missing, there is a snapshot with miniblock >N
Separately, would Main Node work with pruned data? I don't see why not.
Right now it won't because some components only run on the main node would need to be adapted to support snapshot recovery. Such adaptation seems straightforward though. |
…per-work-with-pruned-data
42967bc
to
fac593f
Compare
🤖 I have created a release *beep* *boop* --- ## [20.6.0](core-v20.5.2...core-v20.6.0) (2024-02-08) ### Features * **api:** Start API server after first L1 batch ([#1026](#1026)) ([86e189c](86e189c)) * **db:** Instrument DB connection lifecycle ([#1027](#1027)) ([636fcfd](636fcfd)) * **db:** Soft-remove `storage` table ([#982](#982)) ([601f893](601f893)) * **en:** Make state keeper work with pruned data ([#900](#900)) ([f1913ae](f1913ae)) * export fee model for the test node ([#1030](#1030)) ([d1e4774](d1e4774)) * Time-limit health checks and log them ([#993](#993)) ([f3c190d](f3c190d)) * **types:** Added KZG info needed for 4844 blobs ([#894](#894)) ([758f487](758f487)) ### Bug Fixes * fix link ([#1007](#1007)) ([f1424ce](f1424ce)) * **metrics:** Use latest block for non pos ethereum as safe ([#1022](#1022)) ([49ec843](49ec843)) * Revert "preparation for shared bridge migration (server)" ([#1010](#1010)) ([d4c984a](d4c984a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
What ❔
Modifies state keeper so that it works with pruned node data during snapshot recovery.
Why ❔
Part of preparations of EN code to support snapshot recovery.
Checklist
zk fmt
andzk lint
.zk spellcheck
.