Skip to content

Conversation

@federico-stacks
Copy link
Contributor

Description

Companion PR for validating marf compression against CI

Applicable issues

  • fixes #

Additional info (benefits, drawbacks, caveats)

Checklist

  • Test coverage for new or modified code paths
  • Changelog is updated
  • Required documentation changes (e.g., docs/rpc/openapi.yaml and rpc-endpoints.md for v2 endpoints, event-dispatcher.md for new events)
  • New clarity functions have corresponding PR in clarity-benchmarking repo

jcnelson and others added 28 commits November 4, 2025 23:02
…ue if it's 0, store a bitmap and non-empty trie ptrs if the list is sparse, and store node patches atop full nodes (and read them back)
…then record the original node from which it was copied so that a TrieNodePatch can be calculated and stored instead
… each node and see if we can instead patch an existing node instead of storing a (mostly-unchanged) copy
…ead due to a mismatch between cur_block and cur_block_id borne out of retargeting a trie
@codecov
Copy link

codecov bot commented Dec 14, 2025

Codecov Report

❌ Patch coverage is 70.72899% with 526 lines in your changes missing coverage. Please review.
✅ Project coverage is 69.17%. Comparing base (3da96c1) to head (32e9914).
⚠️ Report is 47 commits behind head on develop.

Files with missing lines Patch % Lines
stacks-node/src/tests/marf/marf_compress_dyn.rs 0.00% 190 Missing ⚠️
stackslib/src/chainstate/stacks/index/storage.rs 71.38% 93 Missing ⚠️
stackslib/src/chainstate/stacks/index/node.rs 85.15% 91 Missing ⚠️
stackslib/src/chainstate/stacks/index/bits.rs 66.39% 81 Missing ⚠️
stackslib/src/chainstate/stacks/index/test/node.rs 62.35% 32 Missing ⚠️
stackslib/src/chainstate/stacks/index/test/marf.rs 88.40% 8 Missing ⚠️
stackslib/src/clarity_vm/database/marf.rs 53.33% 7 Missing ⚠️
stackslib/src/chainstate/stacks/index/marf.rs 82.14% 5 Missing ⚠️
stackslib/src/chainstate/stacks/index/file.rs 20.00% 4 Missing ⚠️
stackslib/src/chainstate/stacks/index/mod.rs 0.00% 4 Missing ⚠️
... and 5 more

❌ Your project check has failed because the head coverage (69.17%) is below the target coverage (80.00%). You can increase the head coverage or adjust the target coverage.

❗ There is a different number of reports uploaded between BASE (3da96c1) and HEAD (32e9914). Click for more details.

HEAD has 25 uploads less than BASE
Flag BASE (3da96c1) HEAD (32e9914)
88 63
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #6739      +/-   ##
===========================================
- Coverage    78.18%   69.17%   -9.02%     
===========================================
  Files          580      585       +5     
  Lines       361096   362757    +1661     
===========================================
- Hits        282312   250925   -31387     
- Misses       78784   111832   +33048     
Files with missing lines Coverage Δ
stacks-node/src/tests/mod.rs 72.26% <ø> (-13.48%) ⬇️
stackslib/src/chainstate/stacks/index/cache.rs 85.08% <ø> (-11.15%) ⬇️
stackslib/src/chainstate/stacks/index/test/file.rs 0.00% <ø> (-96.85%) ⬇️
stackslib/src/chainstate/stacks/index/test/mod.rs 86.27% <100.00%> (-7.76%) ⬇️
stackslib/src/chainstate/stacks/index/trie_sql.rs 79.15% <100.00%> (-6.21%) ⬇️
...tackslib/src/chainstate/stacks/index/test/cache.rs 86.21% <99.48%> (-13.52%) ⬇️
stackslib/src/chainstate/stacks/index/trie.rs 83.27% <66.66%> (-1.32%) ⬇️
stacks-common/src/codec/mod.rs 82.75% <62.50%> (-1.51%) ⬇️
stacks-node/src/tests/marf/marf_compress_off.rs 0.00% <0.00%> (ø)
stacks-node/src/tests/marf/marf_compress_on.rs 0.00% <0.00%> (ø)
... and 10 more

... and 281 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3da96c1...32e9914. Read the comment docs.

🚀 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.

@jcnelson
Copy link
Member

It took me a few minutes to realize that this PR includes the compression PR. If this PR is only supposed to be adding new tests, can you instead base it on the compression PR instead of develop? Thanks!

@federico-stacks
Copy link
Contributor Author

It took me a few minutes to realize that this PR includes the compression PR. If this PR is only supposed to be adding new tests, can you instead base it on the compression PR instead of develop? Thanks!

Yes, as stated in the PR description (and also shared during the sync and in the doc analysis), this PR is intended solely as a companion to the main PR (#6654). The only difference is that compression is enabled here. This allows us to run CI in both MARF compression configurations while developing the complete solution.

I try to keep the two PRs aligned. Typically, I experiment and iterate in this PR and then port the finalized solution to the main one, so the main PR maintains a clean commit history. At the moment, they may be off by one commit, as the intent was to highlight the latest successful CI run with the Node patch fix.

In short, this PR does not require a full review and primarily serves as supporting evidence. It will not be merged and will be closed once the MARF compression work is completed. That said, it can be used for on-demand review of specific pieces of code if something needs to be finalized before being ported to the main PR.

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.

2 participants