Commit Graph

31 Commits

Author SHA1 Message Date
Menghan Li d26af8e391
admin: implement admin services (#4274) 2021-03-22 15:14:11 -07:00
Menghan Li 26c143bd5f
circuit breaking: update picker inline when there's a counter update (#4212) 2021-02-18 10:12:25 -08:00
Menghan Li 1b75f7144d
circuit breaking: keep max_count per picker, instead of globally, and add support in cluster_impl balancer (#4203)
Also changed circuit breaking counter implementation to move max_count into the
picker, because this is how cluster_impl is designed. Implementation in EDS is
also modified to keep max_count in picker.
2021-02-17 10:46:07 -08:00
Easwar Swaminathan 9280052d36
balancergroup: Propagate balancer.BuildOptions to child policies (#4184) 2021-02-07 19:55:33 -08:00
Menghan Li 0bc741730b
xds: report drops by circuit breaking (#4171) 2021-01-28 16:47:07 -08:00
Menghan Li 0bd76be2bb
lrs: use JSON for locality's String representation (#4135) 2021-01-07 14:53:43 -08:00
Garrett Gutierrez ff16195790
xds: Implement circuit breaking support. (#4050) 2020-12-08 14:33:48 -08:00
Menghan Li bce1fdfad9
eds/lrs: handle nil when LRS is disabled (#4086) 2020-12-07 15:10:33 -08:00
Easwar Swaminathan 5b1874ab74
xds: Handle child policy configs properly (#4071) 2020-12-03 09:00:33 -08:00
Menghan Li a223251d8b
lrs: handle multiple clusters in LRS stream (#3935) 2020-10-26 15:47:47 -07:00
Menghan Li 5af60402cd
lrs: add Store.Stats() to report loads for multiple clusters (#3905)
- unexport `perClusterStore` and it's `stats()`
- add `Store.Stats(clusterNames)` to report loads for the given clusters
  - refactor store's map to a two layer map
- move `lastLoadReportAt` from client ton the load store, because a client can now have multiple clusters, each with a different `lastLoadReportAt`
  - all tests will ignore `ReportInterval` when comparing Data
2020-10-07 10:39:58 -07:00
Menghan Li 0dc9986169
lrs: add a layer for clusters in load store (#3880) 2020-09-22 14:26:20 -07:00
Easwar Swaminathan d81def4352
xds: Rename xdsclientWrapper type to xdsClientWrapper in EDS. (#3896) 2020-09-21 16:59:02 -07:00
Easwar Swaminathan b5802b5f3b
xds: v3 support for LRS. (#3856) 2020-09-01 16:56:52 -07:00
Easwar Swaminathan 97c30a1419
xds: Client refactor in preparation for xDS v3 support (#3743) 2020-07-30 10:27:09 -07:00
Menghan Li 9af290fac4
balancergroup: move balancer state (connectivity state and picker) building out (#3685) 2020-07-08 17:41:40 -07:00
Menghan Li acd5f84904
xds: handle errors in eds balancer (#3645) 2020-05-28 09:54:18 -07:00
Menghan Li e786c2dfb2
xds: eds balancer handleEDSUpdate cleanup (#3639) 2020-05-27 09:55:12 -07:00
Doug Fawley 4eb418e5b2
balancer: move Balancer and Picker to V2; delete legacy API (#3431) 2020-04-28 14:52:49 -07:00
Zou Nengren 18b6aa7728
xds: unexport edsBalancerImplInterface's function (#3550)
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2020-04-22 15:55:30 -07:00
Zou Nengren 46c755aff1
rename to LocalityID (#3522) 2020-04-14 09:04:53 -07:00
Menghan Li 98e4c7ad3e
xds: move balancer group to a separate package (#3493)
This PR moves balancer group to a separate package and exports the type with some methods. Balancer group will be used by the weighted_target policy.
2020-04-06 15:12:58 -07:00
Menghan Li ecea6ed1fc
xds: better way to compare and update dropper in EDS (#3434) 2020-03-12 13:41:54 -07:00
Menghan Li 9a1081e29e
xds: handle removing drops (#3433) 2020-03-10 08:50:16 -07:00
Menghan Li cfc5fec35a
eds: handle child balancer state asynchronously (#3418)
Before this change, in EDS balancer, child balancer's state update is handled synchronously, which includes priority handling. This would cause a deadlock if the child policy sends a state update inline when handling addresses (e.g. when roundrobin handles empty address list).

This change moves the child balancer state handling into a goroutine, to avoid the problem.
2020-03-04 17:53:51 -08:00
Easwar Swaminathan c0d37940ad
xds: Eliminate calls to reflect.DeepEqual from xds code. (#3414) 2020-03-02 15:49:25 -08:00
Menghan Li 7f5ddc8aee
xds: improve logging (#3386)
- More logs in xds bootstrap/resolver/cds/eds
  - Bootstrap file content/error
  - Request/response on ADS stream
  - Actions by client/resolver/balancer
  - Content of updates
- Logs prefixed with component name and id
  - `[xds-bootstrap]`
  - `[xds-client <address>]`
  - `[cds-lb <address>]`
  - `[eds-lb <address>]`
2020-02-26 17:50:07 -08:00
Garrett Gutierrez 132187f04c
Modified tests to use tlogger. (#3343)
* Modified tests to use tlogger.

* Fail on errors, with error expectations.

* Added expects and MixedCapsed grpclb_config tests

* Moved tlogger to grpctest, moved leakcheck tester to grpctest.go

* Added ExpectErrorN()

* Removed redundant leak checks

* Fixed new test

* Made tlogger globals into tlogger methods

* ErrorsLeft -> EndTest

* Removed some redundant lines

* Fixed error in test and empty map in EndTest
2020-02-06 13:03:20 -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
Menghan Li 287dc3e58a
eds: move edsBalancer to the package `edsbalancer` (#3294)
edsBalancer (the old xds balancer) was in `package balancer`, one level above the eds implementation. It's a thin wrapper of the eds impl (and fallback in the future).

This change moves the thin wrapper to `package edsbalancer`, and also renames some structs.
2020-01-03 11:08:28 -08:00