Repository navigation
fix(relay): diagnose route failures and safely retry setup timeouts - #162
Merged
Merged
Conversation
This was referenced Sep 22, 2026
Open
Owner
Author
RC3 diagnostic review — follow-up to #161 / #163 / #164Independent Claude read-only review (
The observed |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refs #161 and #163. Draft RC3 diagnostic/mitigation candidate, not a root-cause fix. Head 5e626e9 is for #164 preparation only. Keep #161 open.
Evidence and limits
Prior RC2 public health and Relay stalls support an intermittent CF-to-origin transfer hypothesis, but the fault owner and causal link to each failed message remain unproven. The earlier soak stopped near minute 172 without completion; it is not a passing four-hour run. No production instrumentation or RC3 artifact has been deployed.
Local Python 3.14.7 full suite: 507 OK, 11 skips. Focused Relay diagnostics: 26 OK. Documentation/i18n and diff checks pass. CI for 5e626e9 passed all 24 checks, including release gate. An independent read-only review of prior head 4e99df2 found no substantive correctness or privacy regression and recommended clarifying peer_closed and stream_close.closeCode. Those two changes are in 5e626e9; the exact diff 4e99df2..5e626e9 was then reviewed read-only: no correctness or privacy regression and no merge-blocking defect. Full suites on Python 3.13.7 and 3.14.7 each ran 507 OK with 11 skips; focused diagnostics ran 30 times under CPU load without failure. Do not merge or publish solely because unit tests or CI pass.
Diagnostic interpretation cautions: peer_closed now requires an explicit Relay-initiated counterpart close; an independent remote 1001 is remote_going_away. stream_close.closeCode is the received code (1006 can indicate no close frame). Near-simultaneous remote closes can rarely make a peer_closed label ambiguous because the Relay flag races with an already-closing counterpart. The early-returning paired leg may lack its own stream_close event while the opposite leg records one. None is accepted as root-cause proof.
#164 still needs exact RC3 artifact review, separately approved deployment, real multi-host ACK, and an uninterrupted four-hour validation.