Doug Fawley
7aceafcc52
balancer: add SubConn.Shutdown; deprecate Balancer.RemoveSubConn ( #6493 )
2023-08-04 08:10:48 -07:00
Doug Fawley
c6354049d4
balancer: add StateListener to NewSubConnOptions for SubConn state updates ( #6481 )
2023-07-31 09:42:41 -07:00
Doug Fawley
94df716d94
resolver: State: add Endpoints and deprecate Addresses ( #6471 )
2023-07-31 09:42:27 -07:00
Zach Reyes
1536887cc6
interop/xds: Add Custom LB needed for interop test ( #6262 )
2023-05-11 12:29:32 -04:00
Easwar Swaminathan
68b388b26f
balancer: support injection of per-call metadata from LB policies ( #5853 )
2022-12-20 15:13:02 -08:00
Doug Fawley
e41e8940c0
orca: create ORCA producer for LB policies to use to receive OOB load reports ( #5669 )
2022-11-03 10:27:40 -07:00
Easwar Swaminathan
36e481079b
orca: cleanup old code, and get grpc package to use new code ( #5627 )
2022-09-27 12:41:05 -07:00
Easwar Swaminathan
03fee09e68
balancer: fix connectivity state aggregation algorithm to follow the spec ( #5473 )
2022-07-07 13:48:34 -07:00
Easwar Swaminathan
a73725f42d
channelz: include channelz identifier in logs ( #5192 )
2022-02-23 07:30:06 -08:00
Easwar Swaminathan
82d8af8bf0
balancer: add Authority field to balancer.BuildOptions ( #4969 )
2021-11-11 10:59:18 -08:00
Doug Fawley
03268c8ed2
balancer: fix aggregated state to not report idle with zero subconns ( #4756 )
2021-09-10 16:25:09 -07:00
Doug Fawley
8ab16ef276
balancer: add ExitIdle optional interface ( #4673 )
2021-08-18 15:04:35 -07:00
Doug Fawley
997ce619eb
clientconn: do not automatically reconnect addrConns; go idle instead ( #4613 )
2021-08-10 13:22:34 -07:00
Easwar Swaminathan
9dfe677337
balancer: Add UpdateAddresses() to balancer.ClientConn interface ( #4215 )
2021-02-25 15:48:39 -08:00
Menghan Li
d6f8e6fbaf
grpclb: send custom user-agent ( #4011 )
2020-11-09 14:08:58 -08:00
Doug Fawley
1154df9a4e
balancer: remove deprecated type aliases as planned ( #3742 )
2020-07-16 13:20:46 -07:00
Doug Fawley
4eb418e5b2
balancer: move Balancer and Picker to V2; delete legacy API ( #3431 )
2020-04-28 14:52:49 -07:00
Easwar Swaminathan
6a3c03883d
Pass address attributes from balancer to creds handshaker. ( #3548 )
2020-04-23 11:03:42 -07:00
Doug Fawley
27fd7d000e
balancer/resolver: remove temporary backward-compatibility type aliases ( #3309 )
2020-01-22 08:59:42 -08:00
Doug Fawley
c35a580b0c
Revert "balancer: move Balancer and Picker to V2; delete legacy… ( #3315 )
...
This reverts commit 336cf8d761 .
2020-01-13 13:12:55 -08:00
Doug Fawley
336cf8d761
balancer: move Balancer and Picker to V2; delete legacy API ( #3301 )
2020-01-10 13:44:48 -08:00
Doug Fawley
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
Doug Fawley
2cb07fcd90
resolver: rename Option to Options, leaving type aliases for now ( #3175 )
2019-11-12 15:23:46 -08:00
Doug Fawley
ed563a02ea
resolver: add State fields to support error handling ( #2951 )
2019-10-04 12:59:43 -07:00
Doug Fawley
d40a995895
balancer/resolver: add loadBalancingConfig and pre-parsing support ( #2732 )
2019-05-30 09:12:58 -07:00
lyuxuan
4748a040c8
balancer: provide parsed target through BuildOptions ( #2803 )
2019-05-09 13:27:41 -07:00
Menghan Li
d389f9fac6
balancer: add server loads from RPC trailers to DoneInfo ( #2641 )
2019-04-02 11:15:36 -07:00
Doug Fawley
3910b873d3
bar: add ability to update resolver state atomically and pass directly to the balancer ( #2693 )
2019-03-22 10:48:55 -07:00
Menghan Li
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
Doug Fawley
3c84def893
balancer: remove Header from PickOptions; it is also available through context ( #2674 )
2019-03-15 09:00:55 -07:00
Doug Fawley
8e6533ee6e
client: clean up v1 balancer wrapper error handling ( #2511 )
2019-01-30 10:56:23 -08:00
shaun
e9c1ac35ec
fix: typos ( #2591 )
2019-01-23 09:59:48 -08:00
Menghan Li
191cc8e37b
grpclb: filter out grpclb addresses if balancer in use is not grpclb ( #2509 )
2018-12-13 10:54:42 -08:00
Doug Fawley
04ea82009c
cleanup: replace "x/net/context" import with "context" ( #2439 )
2018-11-12 13:30:41 -08:00
lyuxuan
105f61423e
health: Client LB channel health checking ( #2387 )
2018-11-01 10:49:35 -07:00
Doug Fawley
371811880c
balancer: add clarifying note to PickOptions.Header ( #2377 )
2018-10-15 10:27:54 -07:00
Doug Fawley
5b2c343e0b
add header metadata to PickOptions ( #2376 )
2018-10-12 15:44:20 -07:00
Doug Fawley
c195587d96
balancer: add trailer metadata to DoneInfo ( #2359 )
2018-10-10 13:21:08 -07:00
Menghan Li
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
Mike Cheng
f57a529f33
balancer: add rpc method to PickOptions ( #2204 )
...
Provide additional context to Pickers that wish to make decisions based on the RPC method.
Relevant issue: https://github.com/grpc/grpc-go/issues/2103
2018-07-11 10:18:09 -07:00
Carl Mastrangelo
4344c204c9
Split grpclb out of top level grpc package ( #2107 )
...
This PR splits out grpclb from grpc. I have made the PR in several commits so you can see more clearly the steps that happened.
There are a few possibly contentious points that I would like to make clear up front:
* grpclb will no longer autoload as a load balancer. I think this is okay, as service config is not widely (at all?) used, and I believe this is the only way to access it.
* `internal` is used more, as a way of having code shared between packages without exposing types
* ConnectivityStateEvaluator, as used by grpclb, is no longer thread safe. I believe there is an outer mutex that guards access, but I want to point out this subtle change up here.
All but one tests pass with this, due to another cyclic dependency. I can fix this, but it is a little more widely scoped (such as exposing grpc.server and grpc.errorDesc in the internal package). This PR is a nearly-passing sample of that last step to get this working.
PTAL @menghanl @dfawley
2018-06-05 09:54:12 -07:00
Karsten Weiss
7de9139327
Fix typos ( #1994 )
2018-04-16 10:03:02 -07:00
Menghan Li
c4a6e7589b
documentation: mention Register functions should be call at init time ( #1975 )
2018-04-12 15:11:04 -07:00
lyuxuan
7f73c863c0
Channelz: Entity Registration and Deletion ( #1811 )
2018-04-09 11:13:06 -07:00
Menghan Li
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
lyuxuan
be077907e2
make load balancing policy name string case-insensitive ( #1708 )
2017-12-04 14:03:22 -08:00
Menghan Li
61c67402b9
Add comments to ClientConn/SubConn interfaces to indicate new methods may be added ( #1680 )
2017-12-01 13:25:57 -08:00
Menghan Li
2ef021f78d
New grpclb implementation ( #1558 )
...
The new grpclb supports fallback to backends if remote balancer is unavailable
2017-11-27 11:16:26 -08:00
Menghan Li
de2209a968
Update picker doc when returned SubConn is not ready ( #1659 )
2017-11-09 13:53:22 -08:00
Menghan Li
a353537ff5
Register and use default balancers and resolvers ( #1551 )
2017-10-19 11:32:06 -07:00