Skip to content

Commit 60fae37

Browse files
committed
in-progress changes.
1 parent d92902d commit 60fae37

File tree

5 files changed

+41
-33
lines changed

5 files changed

+41
-33
lines changed

xds/src/main/java/io/grpc/xds/CdsLoadBalancer2.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import static java.util.Objects.requireNonNull;
2525

2626
import com.google.common.annotations.VisibleForTesting;
27-
import com.google.common.collect.ImmutableList;
2827
import com.google.errorprone.annotations.CheckReturnValue;
2928
import io.grpc.InternalLogId;
3029
import io.grpc.LoadBalancer;
@@ -33,12 +32,11 @@
3332
import io.grpc.NameResolver;
3433
import io.grpc.Status;
3534
import io.grpc.StatusOr;
36-
import io.grpc.xds.PriorityLoadBalancerProvider;
37-
import io.grpc.xds.PriorityLoadBalancerProvider.PriorityLbConfig.PriorityChildConfig;
3835
import io.grpc.util.GracefulSwitchLoadBalancer;
3936
import io.grpc.xds.CdsLoadBalancerProvider.CdsConfig;
4037
import io.grpc.xds.ClusterResolverLoadBalancerProvider.ClusterResolverConfig;
4138
import io.grpc.xds.ClusterResolverLoadBalancerProvider.ClusterResolverConfig.DiscoveryMechanism;
39+
import io.grpc.xds.PriorityLoadBalancerProvider.PriorityLbConfig.PriorityChildConfig;
4240
import io.grpc.xds.XdsClusterResource.CdsUpdate;
4341
import io.grpc.xds.XdsClusterResource.CdsUpdate.ClusterType;
4442
import io.grpc.xds.XdsConfig.Subscription;
@@ -47,13 +45,10 @@
4745
import io.grpc.xds.XdsConfig.XdsClusterConfig.EndpointConfig;
4846
import io.grpc.xds.client.XdsLogger;
4947
import io.grpc.xds.client.XdsLogger.XdsLogLevel;
50-
import java.util.ArrayList;
5148
import java.util.Arrays;
5249
import java.util.Collections;
5350
import java.util.HashMap;
54-
import java.util.List;
5551
import java.util.Map;
56-
import java.util.Objects;
5752

5853
/**
5954
* Load balancer for cds_experimental LB policy. One instance per top-level cluster.
@@ -116,7 +111,8 @@ public Status acceptResolvedAddresses(ResolvedAddresses resolvedAddresses) {
116111
// The LB policy config is provided in service_config.proto/JSON format.
117112
configOrError =
118113
GracefulSwitchLoadBalancer.parseLoadBalancingPolicyConfig(
119-
Arrays.asList(clusterConfig.getClusterResource().lbPolicyConfig()), lbRegistry);
114+
Arrays.asList(clusterConfig.getClusterResource().lbPolicyConfig()),
115+
lbRegistry);
120116
if (configOrError.getError() != null) {
121117
// Should be impossible, because XdsClusterResource validated this
122118
return fail(Status.INTERNAL.withDescription(
@@ -155,7 +151,8 @@ public Status acceptResolvedAddresses(ResolvedAddresses resolvedAddresses) {
155151
childLb = priorityLbProvider.newLoadBalancer(helper);
156152
}
157153
Map<String, PriorityChildConfig> priorityChildConfigs = new HashMap<>();
158-
for (String childCluster: requireNonNull(clusterConfig.getClusterResource().prioritizedClusterNames())) {
154+
for (String childCluster: requireNonNull(
155+
clusterConfig.getClusterResource().prioritizedClusterNames())) {
159156
priorityChildConfigs.put(childCluster,
160157
new PriorityChildConfig(
161158
GracefulSwitchLoadBalancer.createLoadBalancingPolicyConfig(
@@ -165,8 +162,8 @@ public Status acceptResolvedAddresses(ResolvedAddresses resolvedAddresses) {
165162
}
166163
childConfig = new PriorityLoadBalancerProvider.PriorityLbConfig(
167164
Collections.unmodifiableMap(priorityChildConfigs),
168-
Collections.unmodifiableList(
169-
requireNonNull(clusterConfig.getClusterResource().prioritizedClusterNames())));
165+
Collections.unmodifiableList(requireNonNull(
166+
clusterConfig.getClusterResource().prioritizedClusterNames())));
170167
} else {
171168
return fail(Status.INTERNAL.withDescription(
172169
errorPrefix() + "Unexpected cluster children type: "

xds/src/main/java/io/grpc/xds/ClusterResolverLoadBalancerProvider.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import io.grpc.xds.EnvoyServerProtoData.OutlierDetection;
3131
import io.grpc.xds.EnvoyServerProtoData.UpstreamTlsContext;
3232
import io.grpc.xds.client.Bootstrapper.ServerInfo;
33-
import java.util.List;
3433
import java.util.Map;
3534
import java.util.Objects;
3635
import javax.annotation.Nullable;

xds/src/main/java/io/grpc/xds/PriorityLoadBalancer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public Status acceptResolvedAddresses(ResolvedAddresses resolvedAddresses) {
8888
logger.log(XdsLogLevel.DEBUG, "Received resolution result: {0}", resolvedAddresses);
8989
this.resolvedAddresses = resolvedAddresses;
9090
PriorityLbConfig config = (PriorityLbConfig) resolvedAddresses.getLoadBalancingPolicyConfig();
91-
checkNotNull(config, "missing priority lb config");
91+
checkNotNull(config, "missing priority lb config");
9292
priorityNames = config.priorities;
9393
priorityConfigs = config.childConfigs;
9494
Status status = Status.OK;

xds/src/test/java/io/grpc/xds/CdsLoadBalancer2Test.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package io.grpc.xds;
1818

1919
import static com.google.common.truth.Truth.assertThat;
20+
import static io.grpc.xds.XdsLbPolicies.CDS_POLICY_NAME;
2021
import static io.grpc.xds.XdsLbPolicies.CLUSTER_RESOLVER_POLICY_NAME;
2122
import static io.grpc.xds.XdsLbPolicies.PRIORITY_POLICY_NAME;
2223
import static io.grpc.xds.XdsTestControlPlaneService.ADS_TYPE_URL_CDS;
@@ -151,9 +152,9 @@ public class CdsLoadBalancer2Test {
151152

152153
@Before
153154
public void setUp() throws Exception {
155+
lbRegistry.register(new FakeLoadBalancerProvider(PRIORITY_POLICY_NAME));
156+
lbRegistry.register(new FakeLoadBalancerProvider(CDS_POLICY_NAME));
154157
lbRegistry.register(new FakeLoadBalancerProvider(CLUSTER_RESOLVER_POLICY_NAME));
155-
lbRegistry.register(new PriorityLoadBalancerProvider());
156-
lbRegistry.register(new CdsLoadBalancerProvider());
157158
lbRegistry.register(new FakeLoadBalancerProvider("round_robin"));
158159
lbRegistry.register(
159160
new FakeLoadBalancerProvider("ring_hash_experimental", new RingHashLoadBalancerProvider()));
@@ -428,13 +429,24 @@ public void discoverAggregateCluster() {
428429
assertThat(childBalancers).hasSize(1);
429430
FakeLoadBalancer childBalancer = Iterables.getOnlyElement(childBalancers);
430431
assertThat(childBalancer.name).isEqualTo(PRIORITY_POLICY_NAME);
431-
PriorityLoadBalancerProvider.PriorityLbConfig childLbConfig = (PriorityLoadBalancerProvider.PriorityLbConfig) childBalancer.config;
432+
PriorityLoadBalancerProvider.PriorityLbConfig childLbConfig =
433+
(PriorityLoadBalancerProvider.PriorityLbConfig) childBalancer.config;
432434
assertThat(childLbConfig.priorities).hasSize(2);
433435
assertThat(childLbConfig.priorities.get(0)).isEqualTo(cluster1);
434436
assertThat(childLbConfig.priorities.get(1)).isEqualTo(cluster2);
435437
assertThat(childLbConfig.childConfigs).hasSize(2);
436-
PriorityLoadBalancerProvider.PriorityLbConfig.PriorityChildConfig childConfig1 = childLbConfig.childConfigs.get(cluster2);
437-
System.out.println(childConfig1);
438+
PriorityLoadBalancerProvider.PriorityLbConfig.PriorityChildConfig childConfig1 =
439+
childLbConfig.childConfigs.get(cluster1);
440+
assertThat(childConfig1.toString()).isEqualTo("PriorityChildConfig{childConfig="
441+
+ "GracefulSwitchLoadBalancer.Config{childFactory=FakeLoadBalancerProvider{policy="
442+
+ "cds_experimental, priority=0, available=true}, childConfig=CdsConfig{name="
443+
+ "cluster-01.googleapis.com, isDynamic=false}}, ignoreReresolution=false}");
444+
PriorityLoadBalancerProvider.PriorityLbConfig.PriorityChildConfig childConfig2 =
445+
childLbConfig.childConfigs.get(cluster2);
446+
assertThat(childConfig2.toString()).isEqualTo("PriorityChildConfig{childConfig="
447+
+ "GracefulSwitchLoadBalancer.Config{childFactory=FakeLoadBalancerProvider{policy="
448+
+ "cds_experimental, priority=1, available=true}, childConfig=CdsConfig{name="
449+
+ "cluster-02.googleapis.com, isDynamic=false}}, ignoreReresolution=false}");
438450
}
439451

440452
@Test

xds/src/test/java/io/grpc/xds/ClusterResolverLoadBalancerTest.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -737,15 +737,15 @@ public void handleEdsResource_ignoreLocalitiesWithNoHealthyEndpoints() {
737737
EquivalentAddressGroup endpoint1 = makeAddress("endpoint-addr-1");
738738
EquivalentAddressGroup endpoint2 = makeAddress("endpoint-addr-2");
739739
LocalityLbEndpoints localityLbEndpoints1 =
740-
LocalityLbEndpoints.create(
741-
Collections.singletonList(LbEndpoint.create(endpoint1, 100, false /* isHealthy */,
742-
"hostname1", ImmutableMap.of())),
743-
10 /* localityWeight */, 1 /* priority */, ImmutableMap.of());
740+
LocalityLbEndpoints.create(
741+
Collections.singletonList(LbEndpoint.create(endpoint1, 100, false /* isHealthy */,
742+
"hostname1", ImmutableMap.of())),
743+
10 /* localityWeight */, 1 /* priority */, ImmutableMap.of());
744744
LocalityLbEndpoints localityLbEndpoints2 =
745-
LocalityLbEndpoints.create(
746-
Collections.singletonList(LbEndpoint.create(endpoint2, 100, true /* isHealthy */,
747-
"hostname2", ImmutableMap.of())),
748-
10 /* localityWeight */, 1 /* priority */, ImmutableMap.of());
745+
LocalityLbEndpoints.create(
746+
Collections.singletonList(LbEndpoint.create(endpoint2, 100, true /* isHealthy */,
747+
"hostname2", ImmutableMap.of())),
748+
10 /* localityWeight */, 1 /* priority */, ImmutableMap.of());
749749
xdsClient.deliverClusterLoadAssignment(
750750
EDS_SERVICE_NAME1,
751751
ImmutableMap.of(locality1, localityLbEndpoints1, locality2, localityLbEndpoints2));
@@ -764,15 +764,15 @@ public void handleEdsResource_ignorePrioritiesWithNoHealthyEndpoints() {
764764
EquivalentAddressGroup endpoint1 = makeAddress("endpoint-addr-1");
765765
EquivalentAddressGroup endpoint2 = makeAddress("endpoint-addr-2");
766766
LocalityLbEndpoints localityLbEndpoints1 =
767-
LocalityLbEndpoints.create(
768-
Collections.singletonList(LbEndpoint.create(endpoint1, 100, false /* isHealthy */,
769-
"hostname1", ImmutableMap.of())),
770-
10 /* localityWeight */, 1 /* priority */, ImmutableMap.of());
767+
LocalityLbEndpoints.create(
768+
Collections.singletonList(LbEndpoint.create(endpoint1, 100, false /* isHealthy */,
769+
"hostname1", ImmutableMap.of())),
770+
10 /* localityWeight */, 1 /* priority */, ImmutableMap.of());
771771
LocalityLbEndpoints localityLbEndpoints2 =
772-
LocalityLbEndpoints.create(
773-
Collections.singletonList(LbEndpoint.create(endpoint2, 200, true /* isHealthy */,
774-
"hostname2", ImmutableMap.of())),
775-
10 /* localityWeight */, 2 /* priority */, ImmutableMap.of());
772+
LocalityLbEndpoints.create(
773+
Collections.singletonList(LbEndpoint.create(endpoint2, 200, true /* isHealthy */,
774+
"hostname2", ImmutableMap.of())),
775+
10 /* localityWeight */, 2 /* priority */, ImmutableMap.of());
776776
String priority2 = CLUSTER1 + "[child2]";
777777
xdsClient.deliverClusterLoadAssignment(
778778
EDS_SERVICE_NAME1,

0 commit comments

Comments
 (0)