feat(proxy): reclaim space from the blob store

The route bypasses the lock that makes a sweep exclusive

Defect 11 / Tier 3 / issue

services/proxy/src/sweep.rs:65-67services/proxy/src/sweep.rs:82-90services/proxy/src/routes/admin.rs:76

Expected review

put the guard inside `sweep`, or give `run` the `dry_run` argument and make `sweep` private.

Discovery difficulty

neither line is wrong alone. The lock is real, `run` uses it correctly, and the route's call is the only signature that fits what the route needs. What makes it wrong is a promise made in a field comment sixty lines away, and there is no comment at the call site to contradict.

Trigger

`POST /v1/admin/cache/sweep` issued while the interval's sweep is in progress - on a 15 minute interval over a large store that is a wide window, and it is exactly when an operator watching free space fall would reach for the route. Both passes compute `held` from the same starting total and both remove that much, so the store lands well under the ceiling and both count the same bytes.

Severity

issue

benchee benchee-dashboard-1 built from 10f4ec58 Static benchmark evidence ·