fix(#136): bound connect-flood by its deadline so it can never hang #145
No reviewers
Labels
No labels
bug
deploy
documentation
duplicate
enhancement
good first issue
help wanted
invalid
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
femboy/blackwall!145
Loading…
Reference in a new issue
No description provided.
Delete branch "sp-fix-136-connect-flood"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes the root cause of #136 — the
deception-resiliencegate'sconnect-floodstep hung indefinitely (600 concurrent connections against the engine's drop-at-cap defense), wedging the whole lab job.run_connect_floodworkers could block past the--durationdeadline on aconnect/read when the engine accepts-then-stalls or holds connections at the cap.io/connect.rs): every connect (2s) and read (500ms) is bounded, and each attempt is raced against the global deadline viatokio::select!, sorun_connect_floodalways returns withinduration+ grace even if every target connection hangs. A held/stalled connection still counts toward the flood, preserving theserved>0 AND dropped+failed>0self-assertion.duration + graceinstead of hanging.Gate status: I re-enabled
deception-resilienceto verify in CI and it passed green (confirming the fix + that CI has working tproxy, unlike this dev box's kernel). BUT the next gate,rtbh, then wedged — reproducibly only whendeception-resilienceruns before it — so re-enabling it correlates with a downstream BIRD-gate wedge (the #137 systemic daemon-teardown issue). I therefore reverted the re-enable in this PR (net ci.yml change = zero): this PR lands only the connect-flood fix; all four gates are re-enabled together once #137's teardown-on-kill fix lands. The fix itself is verified.Gate: fmt + clippy
--deny warningsclean,blackwall-trafficgenconnect tests pass (4, incl. 2 new), coverage 95.38%. Noascasts.