Skip to content
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): Restore state keeper storage from snapshot #885

Merged
merged 18 commits into from
Jan 25, 2024

Conversation

slowli
Copy link
Contributor

@slowli slowli commented Jan 16, 2024

What ❔

Allows to restore secondary RocksDB storage used by the state keeper from a snapshot.

Why ❔

Part of preparations of EN code to support snapshot recovery.

Checklist

  • PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • Code has been formatted via zk fmt and zk lint.
  • Spellcheck has been run via zk spellcheck.

@slowli slowli marked this pull request as ready for review January 16, 2024 18:49
popzxc
popzxc previously approved these changes Jan 17, 2024
Copy link
Member

@popzxc popzxc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't say that I did a thorough review or that I'm very familiar with snapshot syncing, but conceptually all the changes make sense.

popzxc
popzxc previously approved these changes Jan 17, 2024
tomg10
tomg10 previously approved these changes Jan 17, 2024
Copy link
Contributor

@tomg10 tomg10 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, I left some small comments / suggestions

core/lib/state/src/rocksdb/recovery.rs Show resolved Hide resolved
core/lib/state/src/rocksdb/recovery.rs Outdated Show resolved Hide resolved
core/lib/state/src/rocksdb/recovery.rs Show resolved Hide resolved
@slowli slowli dismissed stale reviews from tomg10 and popzxc via e94831c January 18, 2024 11:03
@slowli slowli requested review from tomg10 and popzxc January 18, 2024 16:21
tomg10
tomg10 previously approved these changes Jan 23, 2024
@slowli slowli added this pull request to the merge queue Jan 23, 2024
github-merge-queue bot pushed a commit that referenced this pull request Jan 23, 2024
## What ❔

Allows to restore secondary RocksDB storage used by the state keeper
from a snapshot.

## Why ❔

Part of preparations of EN code to support snapshot recovery.

## Checklist

- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [x] Tests for the changes have been added / updated.
- [x] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.
- [x] Spellcheck has been run via `zk spellcheck`.
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 23, 2024
@slowli slowli added this pull request to the merge queue Jan 25, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 25, 2024
@slowli slowli added this pull request to the merge queue Jan 25, 2024
Merged via the queue into main with commit a9553b5 Jan 25, 2024
34 checks passed
@slowli slowli deleted the aov-pla-737-restore-state-keeper-storage-from-snapshot branch January 25, 2024 12:05
github-merge-queue bot pushed a commit that referenced this pull request Jan 29, 2024
🤖 I have created a release *beep* *boop*
---


##
[11.0.0](prover-v10.1.0...prover-v11.0.0)
(2024-01-29)


### ⚠ BREAKING CHANGES

* **vm:** fee model updates + 1.4.1
([#791](#791))

### Features

* **api:** Make Web3 API server work with pruned data
([#838](#838))
([0b7cd0b](0b7cd0b))
* consensus component config for main node and external node
([#881](#881))
([1aed8de](1aed8de))
* **en:** Restore state keeper storage from snapshot
([#885](#885))
([a9553b5](a9553b5))
* fee model updates + 1.4.1 stage upgrade
([#897](#897))
([fa48c13](fa48c13))
* protobuf-generated json configs for the main node (BFT-371)
([#458](#458))
([f938314](f938314))
* Remove zkevm_test_harness public reexport from zksync_types
([#929](#929))
([dd1a35e](dd1a35e))
* **state-keeper:** circuits seal criterion
([#729](#729))
([c4a86bb](c4a86bb))
* **vm:** fee model updates + 1.4.1
([#791](#791))
([3564aff](3564aff))


### Bug Fixes

* address issue with spellchecker not checking against prover workspace
([#855](#855))
([4f55926](4f55926))
* addresses broken links in preparation for ci link check
([#869](#869))
([a78d03c](a78d03c))
* **prover:** Update shivini
([#915](#915))
([f141a00](f141a00))
* **witness-generator:** Update era-zkevm_test_harness
([#912](#912))
([c03c2e3](c03c2e3))
* **witness-generator:** Update zkevm_test_harness
([#930](#930))
([16fdcff](16fdcff))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
github-merge-queue bot pushed a commit that referenced this pull request Jan 30, 2024
🤖 I have created a release *beep* *boop*
---


##
[20.2.0](core-v20.1.0...core-v20.2.0)
(2024-01-30)


### Features

* added unauthenticated version of gcs object store
([#916](#916))
([638a813](638a813))
* Adding EN snapshots applier
([#882](#882))
([0d2ba09](0d2ba09))
* consensus component config for main node and external node
([#881](#881))
([1aed8de](1aed8de))
* **en:** Make ENs detect reorgs earlier
([#964](#964))
([b043cc8](b043cc8))
* **en:** Restore state keeper storage from snapshot
([#885](#885))
([a9553b5](a9553b5))
* protobuf-generated json configs for the main node (BFT-371)
([#458](#458))
([f938314](f938314))
* Remove zkevm_test_harness public reexport from zksync_types
([#929](#929))
([dd1a35e](dd1a35e))
* **state-keeper:** track the time that individual transactions spend in
mempool ([#941](#941))
([fa45aa9](fa45aa9))
* **vm:** detailed circuit statistic
([#845](#845))
([a20af60](a20af60))
* **vm:** Support tracers for old vm
([#926](#926))
([9fc2d95](9fc2d95))


### Bug Fixes

* **api:** Order transaction traces in `debug_traceBlock*` methods
([#924](#924))
([5918ef9](5918ef9))
* **db:** Make `get_expected_l1_batch_timestamp()` more efficient
([#963](#963))
([7334679](7334679))
* **db:** Make `snapshot_recovery` migration backward-compatible
([#961](#961))
([e756762](e756762))
* **zksync_types:** Update SerializationTransactionError::OversizedData
description
([#949](#949))
([c95f3ee](c95f3ee))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants