32 Commits

Author SHA1 Message Date
45a623cbef test: use non blocking dials in end2end_test (#4687) 2021-08-24 10:02:55 -07:00
8ab16ef276 balancer: add ExitIdle optional interface (#4673) 2021-08-18 15:04:35 -07:00
1c598a11a4 Move exponential backoff to DNS resolver from resolver.ClientConn (#4270) 2021-04-20 13:20:09 -04:00
0d6a24f68a test: move stubServer to separate package in internal (#4081) 2020-12-04 15:56:07 -08:00
78864797b8 balancer: set RPC metadata in address attributes, instead of Metadata field (#4041)
This metadata will be sent with all RPCs on the created SubConn
2020-11-18 17:12:51 -08:00
02cd07d9bb cmd/protoc-gen-go-grpc: revert to interface-based service registration (#3911) 2020-09-29 15:17:06 -07:00
ff9dd65c90 protoc-gen-go-grpc: generate interfaces optionally; remove NewFooService (#3876) 2020-09-16 10:15:56 -07:00
15157e2664 test: remove funcServer and some uses of NewTestServiceService (#3867) 2020-09-09 13:23:46 -07:00
44d73dff99 cmd/protoc-gen-go-grpc: rework service registration (#3828) 2020-08-25 09:28:01 -07:00
8beeedb8b1 internal: clean up all usages of grpclog, and replace with component (#3719) 2020-08-06 13:19:17 -07:00
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
266c7b6f82 xdsrouting: add fake headers (#3748) 2020-07-20 13:40:03 -07:00
4e63bcab52 test: replace manual.GenerateAndRegisterManualResolver with grpc.WithResolvers (#3700) 2020-06-23 09:49:44 -07:00
4eb418e5b2 balancer: move Balancer and Picker to V2; delete legacy API (#3431) 2020-04-28 14:52:49 -07:00
6a3c03883d Pass address attributes from balancer to creds handshaker. (#3548) 2020-04-23 11:03:42 -07:00
c35a580b0c Revert "balancer: move Balancer and Picker to V2; delete legacy… (#3315)
This reverts commit 336cf8d76145dc5ebd517fd9c19e14c6822450b3.
2020-01-13 13:12:55 -08:00
336cf8d761 balancer: move Balancer and Picker to V2; delete legacy API (#3301) 2020-01-10 13:44:48 -08:00
dc49de8acd balancer: add V2Picker, ClientConn.UpdateState, SubConnState.ConnectionError (#3186)
Also implement V2 versions of base.*, xds, pickfirst, grpclb, and round robin balancers.
2019-11-21 10:27:29 -08:00
f7de2c8d62 balancer: filter out grpclb addresses if balancer is not grpclb (#2907) 2019-07-17 15:08:56 -07:00
a5396fd45c Remove call to proto.Clone() in http2Server.WriteStatus. (#2842)
* Expose a method from the internal package to get to the raw
  StatusProto wrapped by the status error, and use it from
  http2Server.WriteStatus().
* Add a helper method in internal/testutils to compare two status errors
  and update test code to use that instead of reflect.DeepEqual()
2019-06-10 15:03:12 -07:00
f34abd9513 xds: add orca generated file, and move orca to xds folder (#2804) 2019-05-24 12:35:57 -07:00
d389f9fac6 balancer: add server loads from RPC trailers to DoneInfo (#2641) 2019-04-02 11:15:36 -07:00
495133b619 internal: fix pickoptions in balancer_test (#2698)
The same test was changed by two PRs, merge didn't catch the conflict
2019-03-19 13:26:46 -07:00
ce45558927 balancer: make sure non-nil done returned by Pick is called (#2688)
Special case: when SubConn returned by Picker is not Ready, call done before
looping back to re-pick.
2019-03-19 10:47:09 -07:00
3c84def893 balancer: remove Header from PickOptions; it is also available through context (#2674) 2019-03-15 09:00:55 -07:00
0a391ff2b7 grpctest: add new package to manage tests and support per-test setup/teardown (#2523)
- Migrate `grpc` & `grpc/test` packages to use `Teardown` support to guarantee `leakcheck` is used
2019-01-07 14:24:56 -08:00
04ea82009c cleanup: replace "x/net/context" import with "context" (#2439) 2018-11-12 13:30:41 -08:00
8f2842d4f0 client: in UpdateBalancerState, update picker before connectivity state (#2431)
In very rare cases, we could start an RPC before the picker had been updated to
one that would return a valid SubConn.  This is not a problem as the new picker
will be called again as soon as it is updated, but it can lead to test flakes
that depend upon the picker not being called before being ready.
2018-11-02 10:27:41 -07:00
5b2c343e0b add header metadata to PickOptions (#2376) 2018-10-12 15:44:20 -07:00
c195587d96 balancer: add trailer metadata to DoneInfo (#2359) 2018-10-10 13:21:08 -07:00
55cdff2adc test: add test for picker DoneInfo.Err (#2358) 2018-10-09 13:53:11 -07:00
4dedfdc82c credentials: support google default creds (#2315)
Google default creds is a combo of ALTS, TLS and OAuth2. The right set of creds will be picked to use based on environment.

This PR contains:
 - A new `creds.Bundle` type
   - changes to use it in ClientConn and transport
   - dial option to set the bundle for a ClientConn
   - balancer options and NewSubConnOption to set it for SubConn
 - Google default creds implementation by @cesarghali 
 - grpclb changes to use different creds mode for different servers
 - interop client changes for google default creds testing
2018-09-25 13:17:25 -07:00