fix(posting): mark removed split parts for reclamation - #9825
fix(posting): mark removed split parts for reclamation#9825KeisukeYamashita wants to merge 1 commit into
Conversation
d5295a5 to
5e99229
Compare
5e99229 to
5475bc3
Compare
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthrough
ChangesPosting split cleanup
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~25 minutes Suggested reviewers: Merge Risk: 🟡 Moderate · up to Posting rollups now write empty records for removed splits to enable reclamation. If split validation rejects this representation, deletion rollups could fail; the invariant should be confirmed before merging. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Refs #9824
Description
Write
BitEmptyPostingrecords for split parts removed during rollup, allowing Badger compaction to reclaim their old payloads.Use the replacement parent's timestamp, including the
+1for finite read timestamps, to preserve historical reads.Add regression tests covering:
Validation: the posting test suite, targeted race tests (three runs), targeted debug tests, and Dgraph build pass. Trunk has not yet been run.
This change does not remove empty-key metadata or retroactively clean up already-orphaned parts.
Checklist
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by CodeRabbit
Bug Fixes
Tests