Commit 1d4fa8a
authored
xds: change cdsbalancer to use update from dependency manager (grpc#8907)
This PR is part of A74 changes. This PR changes following:
1. Changes the CDS balancer to use the CDS and EDS/DNS update from
XDSConfig received by xds_resolver instead of starting its own CDS
watchers.
2. Remove cluster resolver completely
3. CDS balancer creates the priority config and creates priority
balancer as its child.
4. Remove serializer from CDS balancer since it was there to serializer
watcher updates and ClientConn updates, now that there are no watchers
and clientConn updates are already serialized , serializer is no longer
needed.
5. Update tests in cdsbalancer package to check the priority config
instead of cluster_resolver config.
6. xds_resolver tracks reference counts for weighted cluster and cluster
specifier plugin seperately. xds_resolver subscribes to the weighted
cluster in dependency manager when referenced for first time and
unsubscribes when references in xds_resolver go to zero.
7. Incase of LDS/RDS resource error , we now directly send empty service
config , instead of sending a complete service config with clusters that
RPCs are still referenced to.
8. Minor test fixes.
RELEASE NOTES:
* xds:
* Ambient errors for cluster resources are now logged exclusively in the
dependency manager and are no longer propagated to Load Balancing (LB)
policies.
* When re-resolution is requested, all clusters of type LOGICAL_DNS will
be re-resolved simultaneously, rather than only a single cluster.
* Upon receipt of a listener or route resource error, all in-flight RPCs
will now fail immediately.
* Any error encountered during the creation or update of a priority
configuration will now transition the channel to a TRANSIENT_FAILURE
state.1 parent 8f47d36 commit 1d4fa8a
File tree
31 files changed
+1238
-3030
lines changed- internal/xds
- balancer
- cdsbalancer
- e2e_test
- clusterimpl/tests
- clustermanager
- e2e_test
- clusterresolver
- resolver
- xdsdepmgr
31 files changed
+1238
-3030
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | 28 | | |
30 | 29 | | |
31 | 30 | | |
Lines changed: 148 additions & 213 deletions
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Lines changed: 1 addition & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | 26 | | |
28 | 27 | | |
29 | 28 | | |
| |||
552 | 551 | | |
553 | 552 | | |
554 | 553 | | |
555 | | - | |
556 | | - | |
| 554 | + | |
557 | 555 | | |
558 | | - | |
559 | | - | |
560 | | - | |
561 | | - | |
562 | | - | |
563 | 556 | | |
564 | 557 | | |
565 | 558 | | |
| |||
615 | 608 | | |
616 | 609 | | |
617 | 610 | | |
618 | | - | |
619 | | - | |
620 | | - | |
621 | | - | |
622 | | - | |
623 | | - | |
624 | | - | |
625 | | - | |
626 | | - | |
627 | | - | |
628 | 611 | | |
629 | 612 | | |
630 | 613 | | |
| |||
0 commit comments