-
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
splitstore sortless compaction #8008
Conversation
Codecov Report
@@ Coverage Diff @@
## master #8008 +/- ##
==========================================
- Coverage 39.27% 39.12% -0.15%
==========================================
Files 660 662 +2
Lines 71436 71922 +486
==========================================
+ Hits 28054 28143 +89
- Misses 38580 38887 +307
- Partials 4802 4892 +90
Continue to review full report at Codecov.
|
…t-markset-badger splitstore: set badger as the default default markset type
Adds note about 3k IOPs requirement with badger markset, updates the memory requirement for map to 48G based on observed behaviour of test nodes.
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.
Looks simpler/easier to understand than the previous thing.
Just one tiny nit.
⛵ |
This implements sortless compaction, as outlined in #7137.
Closes #7137
The compaction algorithm is modified to store the coldset on disk and checkpoint deletions. Once the critical section starts, the markset is consulted on reads and an object is considered as missing from the hotstore if it is not in the markset, while write synchronously update the markset.
This results in significantly faster compaciton (40% of time was spent in sorting).
In addition, coupled with the badger markset, compaction now uses very little memory independent of coldset size, which makes it possible to use the splitstore in memory constrained systems.