Review text is escaped; normalized decisions follow each finding
Finding f1
bug
candidates.sort_by_key(|candidate| candidate.age)` sorts in ascending order of elapsed duration, causing the newest blobs to be evicted first instead of the oldest.
Metrics::values` loads `sweep_bytes_reclaimed` before `sweep_blobs_removed`, reversing the declaration order in `COUNTERS` and swapping the Prometheus values for reclaimed bytes and removed blob…
Metrics::values` loads `sweep_bytes_reclaimed` before `sweep_blobs_removed`, reversing the declaration order in `COUNTERS` and swapping the Prometheus values for reclaimed bytes and removed blob count.
tokio::time::interval` yields its first tick immediately, causing the proxy to sweep the blob store at startup rather than waiting for the configured sweep interval.
reclaim` calls `app.sweeper.sweep(dry_run)` directly without acquiring the `running` mutex, allowing manual sweeps to run concurrently with background sweeps or other manual sweeps.