Commit Graph

465 Commits

Author SHA1 Message Date
Arvind Bright b2d4d5dbae
test: fix raceyness check to deflake test http server (#5866)
Fixes https://github.com/grpc/grpc-go/issues/4990
2022-12-19 12:57:49 -06:00
Doug Fawley 9f97673ba4
test: move e2e goaway tests to goaway_test.go (#5820) 2022-11-29 10:08:03 -08:00
Zach Reyes 36d14dbf66
Fix binary logging bug which logs a server header on a trailers only response (#5763) 2022-11-02 19:46:50 -04:00
Doug Fawley 9127159caf
client: synchronously verify server preface in newClientTransport (#5731) 2022-10-20 09:29:17 -07:00
Ronak Jain 7b817b4d18
client: set grpc-accept-encoding to full list of registered compressors (#5541) 2022-10-11 16:37:02 -07:00
Zach Reyes 5fc798be17
Add binary logger option for client and server (#5675)
* Add binary logger option for client and server
2022-10-06 13:36:05 -04:00
Zach Reyes b1d7f56b81
transport: Fix deadlock in transport caused by GOAWAY race with new stream creation (#5652)
* transport: Fix deadlock in transport caused by GOAWAY race with new stream creation
2022-09-21 14:35:08 -04:00
Doug Fawley 02f1a7ac92
grpc: prevent a nil stats handler from causing a panic (#5543) 2022-07-29 10:45:21 -07:00
Doug Fawley 1ec054bb67
transport/server: fix race that could cause a stray header to be sent (#5513) 2022-07-28 16:38:04 -07:00
Zach Reyes a094a1095c
Fix race between activeStreams and bdp window size (#5494)
* Fix race between activeStreams and bdp window size
2022-07-13 11:37:09 -04:00
Easwar Swaminathan 15739b5c88
health: split imports into healthpb and healthgrpc (#5466) 2022-06-24 13:31:35 -07:00
Doug Fawley 799605c228
client: fix potential panic during RPC retries (#5323) 2022-05-04 10:06:12 -07:00
idiamond-stripe 924e4849c5
server: return better status for context err when writing header (#5292) 2022-04-08 13:10:16 -07:00
Easwar Swaminathan 34660d1029
test: use `t.Fatal` instead of `panic` for service config parsing errors (#5266) 2022-03-22 14:37:12 -07:00
Easwar Swaminathan eead9a824c
grpc: delete deprecated API WithBalancerName() (#5232) 2022-03-10 13:15:11 -08:00
赵延 c44f627fd1
cleanup: replace grpc.WithInsecure with insecure.NewCredentials (#5177) 2022-02-09 11:17:46 -08:00
Doug Fawley f068a13ef0
server: add missing conn.Close if the connection dies before reading the HTTP/2 preface (#4837) 2021-10-04 11:22:00 -07:00
Zach Reyes 689f7b154e
transport: logic specified in A41 to support RBAC xDS HTTP Filter (#4803)
* transport: logic specified in A41 to support RBAC xDS HTTP Filter
2021-09-27 16:55:46 -04:00
Doug Fawley 11437f66f2
test: add option to make httpServer wait for END_STREAM; fix RetryStats race (#4811) 2021-09-24 15:29:25 -07:00
Doug Fawley 4ddf8ceaa7
Revert "transport/server: add :method POST to incoming metadata (#4770)" (#4790)
This reverts commit c84a5de064.
2021-09-21 10:55:00 -07:00
Zach Reyes c84a5de064
transport/server: add :method POST to incoming metadata (#4770)
* transport/server: add :method POST to incoming metadata
2021-09-15 17:02:08 -04:00
Doug Fawley d41f21ca05
stats: support stats for all retry attempts; support transparent retry (#4749) 2021-09-14 15:11:42 -07:00
Doug Fawley d25e31e741
client: fix case where GOAWAY would leak connections and memory (#4755) 2021-09-10 14:12:13 -07:00
Easwar Swaminathan 45a623cbef
test: use non blocking dials in end2end_test (#4687) 2021-08-24 10:02:55 -07:00
Doug Fawley 997ce619eb
clientconn: do not automatically reconnect addrConns; go idle instead (#4613) 2021-08-10 13:22:34 -07:00
Zach Reyes 01bababd83
Added connection to transport context (#4649)
* Added connection to transport context
2021-08-09 23:15:57 -04:00
John Howard 0103ea2d6c
client: improve GOAWAY debug messages (#4587) 2021-07-14 13:59:50 -07:00
James Protzman ba41bbac22
transport: validate http 200 status for responses (#4474) 2021-07-14 10:54:58 -07:00
Zach Reyes b9270c3a7f
client: add deadline for TransportCredentials handshaker (#4559)
* Add deadline on connection for TransportCredentials handshake
2021-06-23 16:36:24 -04:00
Easwar Swaminathan 728364accf
server: return UNIMPLEMENTED on receipt of malformed method name (#4464) 2021-05-24 17:30:40 -07:00
Ehsan Afzali a8e85e0d57
server: allow PreparedMsgs to work for server streams (#3480) 2021-05-21 15:54:24 -07:00
Doug Fawley 84d0920b59
transport: unblock read throttling when controlbuf exits (#4447) 2021-05-19 11:05:26 -07:00
Doug Fawley 62adda2ece
client: fix ForceCodec to set content-type header appropriately (#4401) 2021-05-11 17:05:16 -07:00
Doug Fawley 328b1d171a
transport: allow InTapHandle to return status errors (#4365) 2021-05-07 14:37:52 -07:00
Menghan Li 0ab423af82
test: fix flaky GoAwayThenClose (#4394)
In this test, we
1. make a streaming RPC on a connection
1. graceful stop it to send a GOAWAY
1. hard stop it, so the client will create a connection to another server

Before this fix, 2 and 3 can happen too soon, so the RPC in 1 would fail
and then transparent retry (because the stream is unprocessed by the
server in that case).

This retry attempt could pick the new connection, and then the RPC would
block until timeout.

After this streaming RPC fails, we make unary RPCs with the same
deadline (note: deadline not timeout) as the streaming RPC and expect
them to succeed. But they will also fail due to timeout.

The fix is to make a round-trip on the streaming RPC first, to make sure
it actually goes on the first connection.
2021-05-07 11:55:48 -07:00
Mikhail Mazurskiy d2d6bdae07
server: add ForceServerCodec() to set a custom encoding.Codec on the server (#4205) 2021-05-06 09:40:54 -07:00
apolcyn 9572fd6fae
client: include details about GOAWAYs in status messages (#4316) 2021-04-23 17:26:26 -07:00
lzhfromustc 41676e61b1
Fix goroutine leaks (#4214) 2021-04-19 09:49:37 -07:00
apolcyn c229922995
client: propagate connection error causes to RPC statuses (#4311) 2021-04-13 13:06:05 -07:00
Doug Fawley 0d6a24f68a
test: move stubServer to separate package in internal (#4081) 2020-12-04 15:56:07 -08:00
Doug Fawley b88744b832
xds: add ConfigSelector to support RouteAction timeouts (#3991) 2020-11-17 13:22:28 -08:00
Gaurav Gahlot d7a7a304ff
testing: Avoid using context.Background (#3949) 2020-11-05 09:25:17 -08:00
Doug Fawley 02cd07d9bb
cmd/protoc-gen-go-grpc: revert to interface-based service registration (#3911) 2020-09-29 15:17:06 -07:00
Doug Fawley ff9dd65c90
protoc-gen-go-grpc: generate interfaces optionally; remove NewFooService (#3876) 2020-09-16 10:15:56 -07:00
Doug Fawley 15157e2664
test: remove funcServer and some uses of NewTestServiceService (#3867) 2020-09-09 13:23:46 -07:00
Doug Fawley 44d73dff99
cmd/protoc-gen-go-grpc: rework service registration (#3828) 2020-08-25 09:28:01 -07:00
Garrett Gutierrez b9bc8e75a6
End stream flag bugfix (#3803) 2020-08-21 14:22:17 -07:00
Menghan Li 8beeedb8b1
internal: clean up all usages of grpclog, and replace with component (#3719) 2020-08-06 13:19:17 -07:00
Easwar Swaminathan fd393c8989
testdata: Update testdata certs. (#3786)
* This will be used in certprovider tests where we would want more than one server and client certs.
* Also, updated existing usages of these certs to point to the new  files.
* Also copy over the required certs/key files. This avoids the example gomodule from depending on gRPC testdata package which should be able to change independently.
* Fix interop test's SAN.
2020-08-05 09:55:07 -07:00
Garrett Gutierrez a5a36bd3f0
client: set auth header to localhost for unix target (#3730) 2020-07-21 14:07:03 -07:00