18 Commits

Author SHA1 Message Date
f7de2c8d62 balancer: filter out grpclb addresses if balancer is not grpclb (#2907) 2019-07-17 15:08:56 -07:00
d40a995895 balancer/resolver: add loadBalancingConfig and pre-parsing support (#2732) 2019-05-30 09:12:58 -07:00
0435a4bb26 balancer: stop using picker from old balancer with switching balancers (#2833) 2019-05-29 10:35:14 -07:00
3910b873d3 bar: add ability to update resolver state atomically and pass directly to the balancer (#2693) 2019-03-22 10:48:55 -07:00
191cc8e37b grpclb: filter out grpclb addresses if balancer in use is not grpclb (#2509) 2018-12-13 10:54:42 -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
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
7de9139327 Fix typos (#1994) 2018-04-16 10:03:02 -07:00
0547980095 Notify parent ClientConn to re-resolve in grpclb (#1699)
The parent ClientConn should re-resolve when grpclb loses connection to the
remote balancer.

When the ClientConn inside grpclb gets a TransientFailure, it calls
lbManualResolver.ResolveNow(), which calls parent ClientConn's ResolveNow, and
eventually results in re-resolve happening in parent ClientConn's resolver (DNS
for example).

This PR adds a method to balancer.ClientConn interface, so balancer can tell
parent ClientConn to re-resolve.
2017-12-18 15:36:55 -08:00
1fc873d0f6 Disable ccBalancerWrapper when it is closed (#1698) 2017-12-06 10:49:20 -08:00
a62701e4aa Eliminate data race in ccBalancerWrapper (#1688) 2017-11-28 14:41:43 -08:00
10873b30bf Fix panics on balancer and resolver updates (#1684)
- NewAddress with empty list (addrConn with an empty address list)
 - NewServiceConfig to switch balancer before the first balancer is built
2017-11-22 13:59:20 -08:00
87bcb38fba Eliminate race on ac.acbw (#1666)
Guard ac.acbw with mutex
2017-11-13 13:43:31 -08:00
33ee217d11 balancer: reduce chattiness (#1608)
Remove some log messages from balancer_conn_wrappers and
balancer_v1_wrapper which seem to be indented for debugging (one of them
was even logging a pointer address).

They can produce a lot of log messages which don't add value in a normal
scenario.
2017-10-25 11:01:53 -07:00
b3ed81a60b Fix connectivity state transitions when dialing (#1596) 2017-10-23 14:06:33 -07:00
a353537ff5 Register and use default balancers and resolvers (#1551) 2017-10-19 11:32:06 -07:00
4bbdf230d7 New implementation of roundrobin and pickfirst (#1506) 2017-10-02 09:22:57 -07:00
8233e124e4 Add new Resolver and Balancer APIs (gRFC L9) (#1408)
- Add package balancer and resolver.
 - Change ClientConn internals to new APIs and adds a wrapper for v1 balancer.
2017-08-31 10:59:09 -07:00