Observed failure
PR #161 exact head e206298 fails reader_fence_process::collection_excludes_a_new_snapshot_until_release with Error: Busy in hosted Rust run 37153036962. Earlier identical runtime code passed; the first failing log is preserved. Do not retry this into green.
Contract and scope
The collector scenarios need continuous cooperating writer authority while arranging the real reader-fence schedule. Their migrated-store fixture currently drops authority and each law immediately reacquires it nonblockingly. Another concurrently running law spawns a process; inherited open-file descriptions can retain a flock until exec, including after the original parent's drop. This is a source-supported possible schedule, not a proven diagnosis of the untraced hosted occurrence.
Retain the existing migration authority throughout the collector scenario, avoiding the unnecessary release/reacquire gap. Keep production locking unchanged and preserve kernel-observed reader exclusion, SIGKILL/reap, persistent inode and post-release admission checks. No sleeps, unsafe fork hooks, retry-to-green, or broad test serialization.
Acceptance
- Observe a runtime RED on unfixed code for a competing writer being admitted during collector preparation; the fixed fixture keeps exact Busy exclusion until the collector releases authority.
- Both process laws pass in debug and release with their original reader-fence assertions intact.
- Full required checks and independent review pass at the final candidate head.
- Preserve the original hosted failure and distinguish the source-backed possible fork schedule from demonstrated runtime evidence.
One test-isolation repair, independently mergeable onto main. No dependency on #161's migration changes. After this lands, integrate it normally into #161 and verify that resulting exact head. Refs #113, #160, #161, #132.
Observed failure
PR #161 exact head e206298 fails
reader_fence_process::collection_excludes_a_new_snapshot_until_releasewithError: Busyin hosted Rust run 37153036962. Earlier identical runtime code passed; the first failing log is preserved. Do not retry this into green.Contract and scope
The collector scenarios need continuous cooperating writer authority while arranging the real reader-fence schedule. Their migrated-store fixture currently drops authority and each law immediately reacquires it nonblockingly. Another concurrently running law spawns a process; inherited open-file descriptions can retain a flock until exec, including after the original parent's drop. This is a source-supported possible schedule, not a proven diagnosis of the untraced hosted occurrence.
Retain the existing migration authority throughout the collector scenario, avoiding the unnecessary release/reacquire gap. Keep production locking unchanged and preserve kernel-observed reader exclusion, SIGKILL/reap, persistent inode and post-release admission checks. No sleeps, unsafe fork hooks, retry-to-green, or broad test serialization.
Acceptance
One test-isolation repair, independently mergeable onto main. No dependency on #161's migration changes. After this lands, integrate it normally into #161 and verify that resulting exact head. Refs #113, #160, #161, #132.