LittDB Garbage Collection Fine Control#3572
Conversation
PR SummaryHigh Risk Overview LittDB API refactor: Reviewed by Cursor Bugbot for commit 6548cfb. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3572 +/- ##
==========================================
- Coverage 59.22% 58.40% -0.83%
==========================================
Files 2225 2152 -73
Lines 183636 175046 -8590
==========================================
- Hits 108759 102227 -6532
+ Misses 65101 63760 -1341
+ Partials 9776 9059 -717
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Describe your changes and provide context
Previously, LittDB garbage collection was controlled entirely by a TTL. That is, data was deleted when it got old, and there was no other criteria.
This PR adds a new mechanism that allows additional constraints to be put on garbage collection. This will be necessary in order to precisely control the timing of deletions in the block store. We need to keep around block data until a logical block height which is only loosely coupled to wall clock time.
Note: in order to add this feature, I had to refactor how we configure LittDB tables. That refactor is responsible for the majority of the line changes in this PR.
Testing performed to validate your change