-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Debug flaky TestStreamForServer
test
#626
Comments
Hmm. Do you know why the stream is being aborted? That error message ("NO_ERROR received from peer") suggests the server sent a GOAWAY frame with error code NO_ERROR, which is supposed to mean that the server is gracefully shutting down. Is there a possible race between an RPC operation completing and the server being shutdown prematurely? (Like maybe there's a |
The PR goes into the details. There are client Two fixes:
|
Okay, moving this convo to the PR. |
Would be good to discuss the intended error behaviour here. I think that connect-go/connect_ext_test.go Lines 1561 to 1563 in 20b5723
Currently
We could also remove the call to connect-go/duplex_http_call.go Lines 98 to 101 in 20b5723
|
Your last comment over in the PR helps me understand the situation more clearly. I think I misunderstood your suggestion to never return errors for
The above doesn't seem aberrant to me since a send doesn't have to be received. But I misunderstood how this caused the issue. I think I would have worded it: "the handler closes the stream with a non-error response without accepting any messages". I think I understand the issue better now. Apologies for being dense about it before. I was interpreting "behavior change" and your previous proposal too broadly. But I do see now that
|
I've changed the fix to check if the Sorry for the confusion. I've revised the description on the ticket to hopefully clarify the issue. |
Nah, not your fault. I think I was splitting my attention too many ways and not spending enough time to truly comprehend the issue here before providing that earlier feedback. |
Describe the bug
On bump golang.org/x/net from 0.16.0 to 0.17.0 tests can fail on
Send
reporting a closed request body error:To Reproduce
go test -run=TestStreamForServer -count=1000
Additional context
Tracing down the calls:
Write
returns anio.EOF
error from a close on the request body (io.ErrClosedPipe
)Close
is called by the transportabortStream
from a process reset stream frame with the error:Unrelated to changes in x/net 0.17.0. Occurs in the latest v1.12 release.
The text was updated successfully, but these errors were encountered: