-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This contains a few fixes/improvements to the tracing stuff: * Previously, the round tripper might not print the `Content-Length` header. This is because the value may come from the `ContentLength` (of `http.Request` or `http.Response`) instead of headers. So now, the code will look at the `ContentLength` field and decide if it needs to emit another header line for it in the trace output. * Previously, after an operation was cancelled, it could still show events that didn't _really_ happen. When the operation is cancelled, either the HTTP/2 stream has been cancelled or the HTTP 1.1 connection has been terminated. Either way, there is no other activity. But the `http.ResponseWriter` that captures trace events would keep trying to add events to the trace anyway. * In the `testResults` type in the conformance runner, it would wait for all traces to be available (up to 5 seconds) before reporting results (so the printed results can include trace details). But some operations will never have a trace coming -- in particular, the ones that interact with the grpc-go reference client or server. So now the runner is updated so that it won't bother waiting for those traces, since they aren't coming. When running just a few test cases, that include the grpc-go impls, this makes the tests run faster since there's no longer a pause of a few seconds right before reporting results. This also includes an unrelated change to the cancellation test cases. The "full duplex cancel after close send" case was racy: when the client closed-send, the server would see that, try to complete the RPC, and return the result, all concurrently with the client subsequently trying to cancel the operation. So if the client cancellation is slow enough, the client could get back the RPC result before it send (and the server saw) the cancellation signal. This was happening pretty regularly with the connect-kotlin client. So now, the test case includes some delay, and the server will try to send one more response before completing the RPC. That gives a nice 200 millisecond cushion so that the client should always successfully cancel before the server can finish the RPC.
- Loading branch information
Showing
10 changed files
with
174 additions
and
90 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.