grpc-java/xds
Eric Anderson 2604ce8a55 xds: XdsNR should be subscribing to clusters with XdsDepManager
This is missing behavior defined in gRFC A74:

> As per gRFC A31, the ConfigSelector gives each RPC a ref to the
> cluster that was selected for it to ensure that the cluster is not
> removed from the xds_cluster_manager LB policy config before the RPC
> is done with its LB picks. These cluster refs will also hold a
> subscription for the cluster from the XdsDependencyManager, so that
> the XdsDependencyManager will not stop watching the cluster resource
> until the cluster is removed from the xds_cluster_manager LB policy
> config.

Without the logic, RPCs can race and see the error:

> INTERNAL: CdsLb for cluster0: Unable to find non-dynamic root cluster

Fixes #12152. This fixes the regression introduced in 297ab05e
2025-06-17 13:36:24 +00:00
..
src xds: XdsNR should be subscribing to clusters with XdsDepManager 2025-06-17 13:36:24 +00:00
third_party xds: xDS-based HTTP CONNECT configuration (#11861) 2025-03-06 13:40:18 +05:30
BUILD.bazel xds: xDS-based HTTP CONNECT configuration (#11861) 2025-03-06 13:40:18 +05:30
build.gradle xds: Enable deprecation warnings 2025-04-11 08:25:21 -07:00