Skip to content

test(rds-net): widen mux_isolation propagation budgets for loaded macOS CI - #52

Merged
rldyourmnd merged 2 commits into
mainfrom
fix/mux-isolation-propagation-budgets
Sep 27, 2026
Merged

rldyourmnd merged 2 commits into
mainfrom
fix/mux-isolation-propagation-budgets

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

Summary

  • terminal_child_receive_does_not_stop_healthy_path flaked on macos-latest (fix: remediate audit findings across desktop, sync, agent, discovery, relay, net, core #51 checks): the client held a validated IPv6 sibling while the server's observed path set had not yet propagated it inside the 2s poll budget
  • The waits at fault are peer-observation waits (path-set propagation, NAT-traversal advertisement receipt/removal) — distributed latency, not local work
  • Raise sibling-observation 2s→8s and the two advertisement waits 2s→5s, inside the existing 15s outer budget; single-socket and functional-phase budgets unchanged

Test plan

  • cargo fmt --check
  • cargo clippy -p rds-net --all-targets --features transport-noq -- -D warnings
  • cargo test -p rds-net --features transport-noq --test mux_isolation — 3/3 green
  • 30 consecutive runs of the flaked test — all pass
  • macos-latest CI lane (authoritative for the flake environment)

…OS CI

The sibling-isolation fixture polls distributed state: path-set
propagation and NAT-traversal advertisement receipt/removal on the peer.
On loaded macos-latest runners 2s was marginal — CI observed the client
holding a validated IPv6 sibling while the server's path set had not yet
observed it, failing terminal_child_receive_does_not_stop_healthy_path
at the pre-fault observation wait.

Raise the peer-observation waits (2s -> 8s sibling, 2s -> 5s
advertisement) within the existing 15s outer budget. Local single-socket
wait and functional-phase budgets are unchanged.
The connection driver learned validated paths only through the
PathEvent::Established broadcast (capacity 32). A lagged receiver loses
events permanently: a validated sibling path stayed invisible to
path_stats, telemetry and reselection, which macOS CI exposed as
mux_isolation timing out with the server never observing the client's
IPv6 sibling.

Rescan the bounded negotiated PathId space each driver iteration and
adopt live paths whose PATH_RESPONSE was received — the same condition
that emits Established — so event loss self-heals on the next loop turn.
Unvalidated candidates still stay out of selection. Dead-path removal
was already handled by reselect's retain.
@rldyourmnd
rldyourmnd merged commit 2a1871a into main Sep 27, 2026
18 checks passed
@rldyourmnd
rldyourmnd deleted the fix/mux-isolation-propagation-budgets branch September 27, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant