CI experiment: test PR 1261 with Reseau Windows IOCP branch#1263
Draft
quinnj wants to merge 19 commits into
Draft
CI experiment: test PR 1261 with Reseau Windows IOCP branch#1263quinnj wants to merge 19 commits into
quinnj wants to merge 19 commits into
Conversation
Closes #1169. `Base.isready(ws::WebSocket)` returns true when a complete message is buffered and `receive(ws)` won't block — a public, non-blocking way to check for incoming WebSocket messages (previously only reachable via the internal readchannel). Includes a docstring and an integration test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1263 +/- ##
==========================================
- Coverage 84.36% 84.32% -0.04%
==========================================
Files 28 28
Lines 10689 10695 +6
==========================================
+ Hits 9018 9019 +1
- Misses 1671 1676 +5 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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
d5350e1isreadytests intact; they pass before the transport-heavy suitesFindings
The old Windows hangs on #1261 were not caused by the WebSocket
isreadychange. The failing stacks were blocked under Reseauwaitreadwhile HTTP was reading response status lines. Pinning the Reseau overlapped IOCP branch cleared the previous HTTP/1 server/client failures.The only remaining HTTP failure after the Reseau fix was in our added raw parity redirect test. With temporary Reseau IOCP tracing enabled during investigation it showed Windows
WSAECONNRESET(raw_error = 10054) when the test server wrote a response and immediately closed; finishing the write side before close made the test about redirect semantics instead of RST timing. The Reseau PR no longer keeps that temporary tracing code.After trimming the Reseau diagnostics, Reseau CI run
26716840261passed on headd5350e16e770515c58cc21f317424584c2336e35. HTTP run26716908457got past the corrected Reseau pin and passed Windows pre, Ubuntu 1/pre, macOS, and docs. The only Actions job failure was Windows Julia 1 inHTTP/2 server handles concurrent streams on one connectionattest/http2_server_tests.jl:862becauseelapsed < 1.75observed1.8410000801086426. That is a tight HTTP/2 timing assertion, not the old Windowswaitreadhang.Verification
julia --project=. --startup-file=no --history-file=no -e 'include("test/http_client_tests.jl")'julia --project=. --startup-file=no --history-file=no -e 'include("test/http_server_http1_tests.jl")'julia --project=. --startup-file=no --history-file=no -e 'include("test/http_parity_tests.jl")'git diff --check26703203916passed all Actions jobs, including both Windows lanes, against the pre-trim Reseau head26716908457passed every Actions job except Windows Julia 1, which hit the HTTP/2 timing assertion aboveRelated
Co-authored by Codex