fix(collab): report the bytes sweepBlobs actually reclaimed - #3022
Conversation
…) failure sweepBlobs computed how many deletes succeeded but discarded that count and returned the full planned reclaimBytes regardless of whether any store.delete() call reported failure, overstating freed storage while the undeleted blob kept consuming space. planBlobSweep now records each dropped hash's byte length and sweepBlobs sums only the bytes for hashes that were actually deleted.
|
Warning Review limit reached
Next review available in: 54 minutes Limit details: You’ve used all 2 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
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 |
Viewer benchmark⚠ 1 metric(s) exceeded the regression threshold (advisory only, not blocking). 01_Snowdon_Towers_Sample_Structural(1).ifcBaseline recorded 2026-07-01T20:31:05.538Z on github-actions ubuntu-latest, viewer-benchmark-ci (headless Chrome, SwiftShader ANGLE), production build.
AC20-FZK-Haus.ifcBaseline recorded 2026-07-01T20:30:59.972Z on github-actions ubuntu-latest, viewer-benchmark-ci (headless Chrome, SwiftShader ANGLE), production build.
Refresh the baseline from a CI run: dispatch the Benchmark workflow with |
|
Reviewed by reading and running, not with the CLI. Nothing to change. Recording what I checked, since "no findings" is only worth something if you know what was looked for. The fix is covered, verified by mutationBaseline first: 228 passed / 2 skipped. Then restored the pre-fix behaviour exactly as the body describes: So the assertion is real and it fails for the right reason. The
|
sweepBlobsreturned a byte count that did not match what it actually reclaimed. Found on a never-raised branch; merges clean.RED — surgical, restoring only
if (ok) freed += 1; void freed; return decision.reclaimBytes;:packages/collab226 pass / 2 skipped;packages/collab-serverre-run after rebuild, 182 pass.check-api-surface✅ (42 packages, 4197 exports),check-unused-locals✅.No neighbour regression is possible here: there is no in-repo production caller of
sweepBlobs— only tests. The changeset's "a caller using the return value…" is phrased conditionally and is accurate rather than an overclaim.One thing for your call before merge:
dropByteLengthsis a new required field on the exportedSweepDecisioninterface. Any external code constructing aSweepDecisionliteral breaks at typecheck — and this ships aspatch. Either the field should be optional or the bump should reflect it.🤖 Generated with Claude Code