Skip to content

feat(ds): introduce BlobStoreFold#965

Open
thomasathorne wants to merge 1 commit intomainfrom
thomasa/fold-into-kv-store
Open

feat(ds): introduce BlobStoreFold#965
thomasathorne wants to merge 1 commit intomainfrom
thomasa/fold-into-kv-store

Conversation

@thomasathorne
Copy link
Copy Markdown
Contributor

@thomasathorne thomasathorne commented Mar 30, 2026

Closes TZX-105.

What

Introduce the BlobStoreFold folder type, which merkelises any Foldable type into any store that implements BlobStore.

Why

For the new PVM Storage, we now have an on-disk implementation of BlobStore, so using this new fold we can merkelise an entire Pvm<Normal> onto disk---the "MVP" for a PVM snapshot that respects the merkle tree structure of the state.

Manually Testing

make all

Tasks for the Author

  • Link all Linear issues related to this MR using magic words (e.g. part of, relates to, closes).
  • Eliminate dead code and other spurious artefacts introduced in your changes.
  • Document new public functions, methods and types.
  • Make sure the documentation for updated functions, methods, and types is correct.
  • Add tests for bugs that have been fixed.
  • Explain changes to regression test captures when applicable.
  • Write commit messages in agreement with our guidelines.
  • Self-review your changes to ensure they are high-quality.
  • Complete all of the above before assigning this MR to reviewers.

@thomasathorne thomasathorne force-pushed the thomasa/fold-into-kv-store branch from 470fd3c to c285881 Compare March 30, 2026 09:06
@thomasathorne thomasathorne marked this pull request as ready for review March 30, 2026 09:06
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 30, 2026

Benchmark results for revision a6ff4bb:

Metric Duration TPS
Mean 1.515520125s 26.394
Worst 1.531360984s 26.121
Best 1.508570815s 26.515
Standard Deviation ±5.719671ms ±0.099
Full results
Run Transfers Duration TPS
1 40 1.529181604s 26.158
2 40 1.51344225s 26.430
3 40 1.518758058s 26.337
4 40 1.512731127s 26.442
5 40 1.518761993s 26.337
6 40 1.513907587s 26.422
7 40 1.519368133s 26.327
8 40 1.508666304s 26.513
9 40 1.510840492s 26.475
10 40 1.51368192s 26.426
11 40 1.513800622s 26.424
12 40 1.512985144s 26.438
13 40 1.513575449s 26.427
14 40 1.531360984s 26.121
15 40 1.517538076s 26.358
16 40 1.515639007s 26.392
17 40 1.511605999s 26.462
18 40 1.512580285s 26.445
19 40 1.508570815s 26.515
20 40 1.513406653s 26.430

Compare the results above with those for the default branch.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 30, 2026

Codecov Report

❌ Patch coverage is 94.79167% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.75%. Comparing base (ab5bf0d) to head (678f72b).
⚠️ Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
data/src/store/fold.rs 94.79% 4 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #965      +/-   ##
==========================================
- Coverage   89.78%   89.75%   -0.04%     
==========================================
  Files         110      111       +1     
  Lines       22104    22232     +128     
  Branches    22104    22232     +128     
==========================================
+ Hits        19846    19954     +108     
- Misses       1859     1880      +21     
+ Partials      399      398       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@thomasathorne thomasathorne force-pushed the thomasa/fold-into-kv-store branch from c285881 to 678f72b Compare March 30, 2026 09:17
@thomasathorne thomasathorne force-pushed the thomasa/fold-into-kv-store branch 2 times, most recently from 22a7c28 to c6d6d08 Compare March 31, 2026 09:31
@thomasathorne thomasathorne force-pushed the thomasa/fold-into-kv-store branch from c6d6d08 to 66ce3a9 Compare March 31, 2026 09:36
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.

3 participants