From cae23393668bdabc3a0e438780ed1bc07e87c1dd Mon Sep 17 00:00:00 2001 From: ZHANG Dapeng Date: Tue, 24 Aug 2021 11:27:02 -0700 Subject: [PATCH] xds: fix RingHash LB null pointer issue (#8438) --- xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java b/xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java index e91e76090a..036f77f7cd 100644 --- a/xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java +++ b/xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java @@ -188,8 +188,10 @@ final class CdsLoadBalancer2 extends LoadBalancer { if (root.result.lbPolicy() == LbPolicy.RING_HASH) { lbProvider = lbRegistry.getProvider("ring_hash"); lbConfig = new RingHashConfig(root.result.minRingSize(), root.result.maxRingSize()); - } else { + } + if (lbProvider == null) { lbProvider = lbRegistry.getProvider("round_robin"); + lbConfig = null; } ClusterResolverConfig config = new ClusterResolverConfig( Collections.unmodifiableList(instances), new PolicySelection(lbProvider, lbConfig));