feat: add marf compress node config#6811
feat: add marf compress node config#6811federico-stacks merged 16 commits intostacks-network:developfrom
Conversation
e82fa1f to
0f2c048
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #6811 +/- ##
============================================
+ Coverage 59.40% 81.48% +22.07%
============================================
Files 412 412
Lines 218187 218682 +495
Branches 338 338
============================================
+ Hits 129610 178185 +48575
+ Misses 88577 40497 -48080
... and 294 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
8e487b3 to
d5376fc
Compare
…kamotoBlockProposal::validate_replay(..), stacks-network#6593
Initially added to make MARFOpenOpts compatible with Burnchain. Now removed as it seems serialization is not really used for Burnchain and PoxConstants.
francesco-stacks
left a comment
There was a problem hiding this comment.
LGTM, just a couple of sanity checks and nits. Just resolve the comments them if everything looks correct!
jcnelson
left a comment
There was a problem hiding this comment.
I just had one question about the default for MARF compression. Otherwise LGTM.
|
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
This PR introduces a node configuration option to explicitly enable the MARF compression feature:
Applicable issues
Additional info (benefits, drawbacks, caveats)
With this PR, MARF options defined in the node configuration are propagated to the following databases:
MarfedKV::open(..)(already supported)StacksChainState::open_index(..)(updated to accept MARF options)SortitionDB::open_index(..)(updated to accept MARF options)Some refactoring was required to ensure MARF options are correctly passed through to the Chainstate and Sortition databases. These changes do not affect core logic. The most notable adjustments are:
ChainsCoordinator::run(), burnchain databases are now retrieved directly from the Burnchain instance rather than opened inline, allowing MARF options to be inherited consistently.NakamotoBlockProposal::validate_replay(),StacksChainStateis now accepted as a handle for reopening connections, making it easier to inherit MARF options.Burchainstruct, serialization traits were removed (as they do not appear to be used in practice), avoiding the need to apply them to MARFOpenOpts.Checklist
docs/rpc/openapi.yamlandrpc-endpoints.mdfor v2 endpoints,event-dispatcher.mdfor new events)clarity-benchmarkingrepo