-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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:splitstore:single compaction that can handle prune aka two marksets one compaction #9571
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a very reasonable change to me.
I will have to reload some context for a more thorough review, but dont block on me if the magik man greens.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks correct to me, but one more set of 👀 on this before merging would be really nice
func (s *SplitStore) deadSetPath() string { | ||
func (s *SplitStore) discardSetPath() string { | ||
return filepath.Join(s.path, "deadset") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just sanity checking - we're not un-renaming the function because deadSet is now not quite what it used to mean?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah it now has a use in compaction not just prune and this is better suited to that domain.
Related Issues
Discussion kicked off here: #9128
Proposed Changes
Prune mode is now just a 3rd mode next to
discard
anduniversal
. There is only ever one compaction running so no need to add 3 new knobs to splitstore config.Additional Info
A quick conversation with @TippyFlitsUK supports the hypothesis that this minimal configuration strategy is a better all around approach.
Checklist
Before you mark the PR ready for review, please make sure that:
<PR type>: <area>: <change being made>
fix: mempool: Introduce a cache for valid signatures
PR type
: fix, feat, build, chore, ci, docs, perf, refactor, revert, style, testarea
, e.g. api, chain, state, market, mempool, multisig, networking, paych, proving, sealing, wallet, deps