Skip to content

Harden LargeSmt reader snapshots#980

Merged
sergerad merged 1 commit intosergerad-largesmt-reader-traitfrom
huitseeker/sergerad-largesmt-reader-trait
Apr 21, 2026
Merged

Harden LargeSmt reader snapshots#980
sergerad merged 1 commit intosergerad-largesmt-reader-traitfrom
huitseeker/sergerad-largesmt-reader-trait

Conversation

@huitseeker
Copy link
Copy Markdown
Collaborator

  • LargeSmt::reader() is now fallible, so storage errors propagate instead of panicking.
  • RocksDbStorage::reader() now builds a detached memory-backed SmtStorageReader snapshot and returns StorageError on iterator/materialization failure.
  • RocksDbStorage keeps its public Clone impl.
  • LargeSmt cloning is gated behind a new CloneableSmtStorageReader marker, so cloneability is explicit for safe detached storage types.
  • Added a RocksDB regression test proving the reader is a detached snapshot after subsequent writes.

Addresses #967 (comment)
and #967 (comment) and associated comments

@huitseeker huitseeker requested a review from sergerad April 21, 2026 10:26
@huitseeker huitseeker added the no changelog This PR does not require an entry in the `CHANGELOG.md` file label Apr 21, 2026
Copy link
Copy Markdown
Contributor

@sergerad sergerad left a comment

Choose a reason for hiding this comment

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

Thank you!

@sergerad sergerad merged commit 77bc5c4 into sergerad-largesmt-reader-trait Apr 21, 2026
25 of 26 checks passed
@sergerad sergerad deleted the huitseeker/sergerad-largesmt-reader-trait branch April 21, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no changelog This PR does not require an entry in the `CHANGELOG.md` file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants