Commit Graph

3818 Commits

Author SHA1 Message Date
Easwar Swaminathan aa59641d5d
interop: use credentials.NewTLS() when possible (#4390) 2021-05-12 10:17:13 -07:00
James Protzman a95a5c3bac
transport: remove decodeState from client to reduce allocations (#3313) 2021-05-12 08:49:07 -07:00
Doug Fawley 62adda2ece
client: fix ForceCodec to set content-type header appropriately (#4401) 2021-05-11 17:05:16 -07:00
Menghan Li 81b8cca6a9
Change version to 1.39.0-dev (#4420) 2021-05-11 15:28:46 -07:00
Easwar Swaminathan 5f95ad6233
xds: workaround to deflake xds e2e tests (#4413) 2021-05-11 10:39:31 -07:00
Easwar Swaminathan b1940e15f6
xds: register resources at the mgmt server before requesting them (#4406) 2021-05-10 10:11:31 -07:00
Doug Fawley 98c895f7e0
cleanup: use testutils.MarshalAny in more places (#4404) 2021-05-10 09:35:55 -07:00
Easwar Swaminathan 12a377b1e4
xds: nack route configuration with regexes that don't compile (#4388) 2021-05-07 15:42:59 -07:00
Doug Fawley c15291b0f5
client: initialize safe config selector when creating ClientConn (#4398) 2021-05-07 15:24:10 -07:00
Doug Fawley 328b1d171a
transport: allow InTapHandle to return status errors (#4365) 2021-05-07 14:37:52 -07:00
Easwar Swaminathan aff517ba8a
xds: make e2e tests use a single management server instance (#4399) 2021-05-07 14:35:48 -07:00
Doug Fawley 0439465fe2
xds_resolver: fix flaky Test/XDSResolverDelayedOnCommitted (#4393)
Before this change, if two xds client updates came too close together, the second one could replace the first one.  The fix is to wait for the effects of the first update before sending the second update.  I injected a synthetic delay into handling the updates from the channel to reproduce this flake 100%, and confirmed this change fixes it.

As part of this change I also noticed that we're actually calling the context cancellation function twice via defers, and never the cancel function from the test setup, so I fixed that, too.
2021-05-07 11:57:56 -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
Doug Fawley b6f206b84f
grpc: improve docs on StreamDesc (#4397) 2021-05-07 11:17:26 -07:00
Zach Reyes c7ea734087
dns: fix flaky TestRateLimitedResolve (#4387)
* Rewrote TestRateLimitedResolve in dns resolver test to get rid of flakiness.
2021-05-07 08:28:34 -04:00
Menghan Li cb396472c2
Revert "grpc: call balancer.Close() before returning from ccBalancerWrapper.close()" (#4391)
This reverts commit 28078834f3.
2021-05-06 13:28:27 -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
Lidi Zheng d426aa5f2e
test: extend the xDS interop tests timeout to 360 mins (#4380) 2021-05-05 13:37:13 -07:00
Easwar Swaminathan 40b25c5b2c
xds: set correct order of certificate providers in handshake info (#4350) 2021-05-05 12:34:15 -07:00
Easwar Swaminathan 0fc0397d77
xds: actually close stuff in cds/eds `Close()` (#4381) 2021-05-04 16:54:57 -07:00
Doug Fawley 4f3aa7cfa1
xds: optimize fault injection filter with empty config (#4367) 2021-05-04 15:29:58 -07:00
Easwar Swaminathan 79e55d6444
xds: use SendContext() to fail in time when the channel is full (#4386) 2021-05-04 15:06:43 -07:00
Doug Fawley 11bd77660d
xds: work around xdsclient race in fault injection test (#4377) 2021-05-04 14:51:32 -07:00
Easwar Swaminathan 75497df97f
meshca: remove meshca certificate provider implementation (#4385) 2021-05-04 14:38:47 -07:00
Menghan Li ebd6aba675
Revert "xds/cds: add separate fields for cluster name and eds service name" (#4382)
This reverts PRs #4352 (and two follow up fixes #4372 #4378).
Because the xds interop tests were flaky.

Revert before the branch cut.
2021-05-03 15:16:49 -07:00
Menghan Li b418de839e
xds/eds: restart EDS watch after previous was canceled (#4378) 2021-04-30 11:53:31 -07:00
Easwar Swaminathan 28078834f3
grpc: call balancer.Close() before returning from ccBalancerWrapper.close() (#4364) 2021-04-29 21:44:26 -07:00
Menghan Li aa3ef8fb8f
internal: regenerate proto (#4373) 2021-04-29 12:17:56 -07:00
Menghan Li c3b66015bd
xds/circuit_breaking: use cluster name as key, not EDS service name (#4372) 2021-04-29 11:56:50 -07:00
Menghan Li 91d8f0c916
serviceconfig: support marshalling BalancerConfig to JSON (#4368) 2021-04-28 18:11:45 -07:00
irfan sharif b602d17e45
metadata: reduce memory footprint in FromOutgoingContext (#4360)
When Looking at memory profiles for cockroachdb/cockroach, we observed
that the intermediate metadata.MD array constructed to iterate over
appended metadata escaped to the heap. Fortunately, this is easily
rectifiable.

  go build -gcflags '-m' google.golang.org/grpc/metadata
  ...
  google.golang.org/grpc/metadata/metadata.go:198:13: make([]MD, 0, len(raw.added) + 1) escapes to heap
2021-04-28 10:05:50 -07:00
Menghan Li 24d03d9f76
xds/priority: add ignore reresolution boolean to config (#4275) 2021-04-27 15:22:25 -07:00
Menghan Li 7c5e73795d
xds/cds: add separate fields for cluster name and eds service name (#4352) 2021-04-27 13:37:48 -07:00
Joshua Humphries 145f12a95b
reflection: accept interface instead of grpc.Server struct in Register() (#4340) 2021-04-27 13:15:08 -07:00
Easwar Swaminathan 52a707c0da
xds: serving mode changes outlined in gRFC A36 (#4328) 2021-04-26 14:29:06 -07:00
apolcyn 9572fd6fae
client: include details about GOAWAYs in status messages (#4316) 2021-04-23 17:26:26 -07:00
Menghan Li e158e3e82c
xds/lrs: server name is not required to be non-empty (#4356) 2021-04-23 13:15:21 -07:00
Doug Fawley 74fe6eaa41
github: testing action workflow improvements and update to test Go1.16 (#4358) 2021-04-22 14:59:51 -07:00
Easwar Swaminathan f02863c306
xds: specify "h2" as the alpn in xds creds (#4361) 2021-04-22 14:58:58 -07:00
Menghan Li 7276af6dd7
client: fix leaked addrConn struct when addresses are updated (#4347) 2021-04-22 10:45:24 -07:00
Jan Tattermusch f2783f2719
Run emulated linux arm64 tests (#4344) 2021-04-22 09:08:53 -07:00
Lidi Zheng 6f35bbbfb8
test: enable xDS CSDS test (#4354) 2021-04-21 17:27:51 -07:00
Menghan Li 671707bdf3
internal: fix symbol undefined build failure (#4353)
Caused by git merge
2021-04-21 14:06:54 -07:00
Menghan Li 970aa09283
xds/balancers: export balancer names and config structs (#4334) 2021-04-21 10:11:28 -07:00
Zach Reyes 1c598a11a4
Move exponential backoff to DNS resolver from resolver.ClientConn (#4270) 2021-04-20 13:20:09 -04:00
lzhfromustc 41676e61b1
Fix goroutine leaks (#4214) 2021-04-19 09:49:37 -07:00
Menghan Li 1a870aec2f
xds/clusterimpl: trigger re-resolution on subconn transient_failure (#4314) 2021-04-15 15:08:03 -07:00
Doug Fawley 87eb5b7502
credentials/google: remove unnecessary dependency on xds protos (#4339) 2021-04-13 16:19:17 -07:00
Easwar Swaminathan 6fafb9193b
xds: support unspecified and wildcard filter chain prefixes (#4333) 2021-04-13 15:31:34 -07:00
apolcyn c229922995
client: propagate connection error causes to RPC statuses (#4311) 2021-04-13 13:06:05 -07:00