You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test(ilp): regression guards for SF disk-cap recovery
Two tests targeting the disk-cap deadlock scenario the reviewer flagged
as a separate "high" severity finding. Both pass under the per-frame
trim that landed in the previous commit; both would deadlock on the
pre-fix code where trim left the active segment alone.
testSingleActiveSegmentDoesNotDeadlockOnFullCap (new):
Sets sf_max_bytes == sf_max_total_bytes, so no natural rotation
can ever fire — the append-time projection check raises disk-full
before rotate() is reached. Pre per-frame trim this state was
permanent: the active was the only segment on disk, trim couldn't
touch it, ACKs freed nothing. Force-rotate-on-fully-acked makes
the active itself reclaimable, so an ACK covering every appended
frame now restores capacity. The test stresses recovery further
by refilling to disk-full a second time.
testMaxTotalBytesTriggersDiskFullThenRecoversOnAck (renamed from
testMaxTotalBytesTriggersDiskFull):
The "Acceptable: only the active was on disk and active doesn't
trim" branch in the catch block — which the reviewer specifically
cited as evidence the deadlock was tolerated by the test suite —
is gone. The recovery append after trim now must succeed; we
assert it directly instead of swallowing a second disk-full.
Full suite: 1976 tests pass.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments