feat(proxy): reclaim space from the blob store

`MissedTickBehavior::Delay` leaves no gap after a sweep that overran

Defect 8 / Tier 2 / suggestion

services/proxy/src/main.rs:109-112

Expected review

`Skip` gets closer to the comment, and a `sleep(period)` at the end of the loop body is what actually gives a gap measured from when the pass finished.

Discovery difficulty

the first half of the comment is true and checkable, which lends the second half credibility. Distinguishing them means knowing that `Delay` reschedules from the moment of the late tick rather than deferring it, and the difference only shows up under an overrun.

Trigger

a sweep that takes longer than `CAIRN_SWEEP_INTERVAL`, which is the large store this feature exists for. Verified with a 100 ms period and 250 ms of work under `Delay`: the gaps between one pass finishing and the next starting were 2.0, 2.6 and 2.1 microseconds. Sweeps then run back to back for as long as the store stays big, which turns defect 6 from a stall into a permanently occupied worker thread.

Severity

suggestion

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