Skip to content

Commit

Permalink
api, core: delete io.grpc.LoadBalancer.loadBalancingConfig attribute (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
voidzcy committed Sep 18, 2020
1 parent 04871dc commit bf7a42d
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 33 deletions.
12 changes: 0 additions & 12 deletions api/src/main/java/io/grpc/LoadBalancer.java
Expand Up @@ -110,18 +110,6 @@
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1771")
@NotThreadSafe
public abstract class LoadBalancer {
/**
* The load-balancing config converted from an JSON object injected by the GRPC library.
*
* <p>{@link NameResolver}s should not produce this attribute.
*
* <p>Deprecated: LB implementations should use parsed object from {@link
* LoadBalancerProvider#parseLoadBalancingPolicyConfig(Map)} instead of raw config.
*/
@Deprecated
@NameResolver.ResolutionResultAttr
public static final Attributes.Key<Map<String, ?>> ATTR_LOAD_BALANCING_CONFIG =
Attributes.Key.create("io.grpc.LoadBalancer.loadBalancingConfig");

@Internal
@NameResolver.ResolutionResultAttr
Expand Down
Expand Up @@ -17,7 +17,6 @@
package io.grpc.internal;

import static com.google.common.base.Preconditions.checkNotNull;
import static io.grpc.LoadBalancer.ATTR_LOAD_BALANCING_CONFIG;

import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.MoreObjects;
Expand Down Expand Up @@ -111,11 +110,6 @@ public void handleResolvedAddresses(ResolvedAddresses resolvedAddresses) {
Status tryHandleResolvedAddresses(ResolvedAddresses resolvedAddresses) {
List<EquivalentAddressGroup> servers = resolvedAddresses.getAddresses();
Attributes attributes = resolvedAddresses.getAttributes();
if (attributes.get(ATTR_LOAD_BALANCING_CONFIG) != null) {
throw new IllegalArgumentException(
"Unexpected ATTR_LOAD_BALANCING_CONFIG from upstream: "
+ attributes.get(ATTR_LOAD_BALANCING_CONFIG));
}
PolicySelection policySelection =
(PolicySelection) resolvedAddresses.getLoadBalancingPolicyConfig();

Expand Down Expand Up @@ -150,10 +144,6 @@ Status tryHandleResolvedAddresses(ResolvedAddresses resolvedAddresses) {
if (lbConfig != null) {
helper.getChannelLogger().log(
ChannelLogLevel.DEBUG, "Load-balancing config: {0}", policySelection.config);
attributes =
attributes.toBuilder()
.set(ATTR_LOAD_BALANCING_CONFIG, policySelection.rawConfig)
.build();
}

LoadBalancer delegate = getDelegate();
Expand Down
Expand Up @@ -17,7 +17,6 @@
package io.grpc.internal;

import static com.google.common.truth.Truth.assertThat;
import static io.grpc.LoadBalancer.ATTR_LOAD_BALANCING_CONFIG;
import static org.junit.Assert.assertTrue;
import static org.mockito.AdditionalAnswers.delegatesTo;
import static org.mockito.ArgumentMatchers.any;
Expand Down Expand Up @@ -265,8 +264,6 @@ public void handleResolvedAddressGroups_propagateLbConfigToDelegate() throws Exc
ArgumentCaptor.forClass(ResolvedAddresses.class);
verify(testLbBalancer).handleResolvedAddresses(resultCaptor.capture());
assertThat(resultCaptor.getValue().getAddresses()).containsExactlyElementsIn(servers).inOrder();
assertThat(resultCaptor.getValue().getAttributes().get(ATTR_LOAD_BALANCING_CONFIG))
.containsExactly("setting1", "high");
verify(testLbBalancer, atLeast(0)).canHandleEmptyAddressListFromNameResolution();
ArgumentCaptor<Map<String, ?>> lbConfigCaptor = ArgumentCaptor.forClass(Map.class);
verify(testLbBalancerProvider).parseLoadBalancingPolicyConfig(lbConfigCaptor.capture());
Expand All @@ -288,8 +285,6 @@ public void handleResolvedAddressGroups_propagateLbConfigToDelegate() throws Exc
verify(testLbBalancer, times(2)).handleResolvedAddresses(resultCaptor.capture());
assertThat(handleResult.getCode()).isEqualTo(Status.Code.OK);
assertThat(resultCaptor.getValue().getAddresses()).containsExactlyElementsIn(servers).inOrder();
assertThat(resultCaptor.getValue().getAttributes().get(ATTR_LOAD_BALANCING_CONFIG))
.containsExactly("setting1", "low");
verify(testLbBalancerProvider, times(2))
.parseLoadBalancingPolicyConfig(lbConfigCaptor.capture());
assertThat(lbConfigCaptor.getValue()).containsExactly("setting1", "low");
Expand Down Expand Up @@ -383,8 +378,6 @@ public void handleResolvedAddressGroups_delegateAcceptsEmptyAddressList()
assertThat(resultCaptor.getValue().getAddresses()).isEmpty();
assertThat(resultCaptor.getValue().getLoadBalancingPolicyConfig())
.isEqualTo(nextParsedConfigOrError2.get().getConfig());
assertThat(resultCaptor.getValue().getAttributes().get(ATTR_LOAD_BALANCING_CONFIG))
.containsExactly("setting1", "high");
}

@Test
Expand Down
Expand Up @@ -1159,6 +1159,7 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio
FakeNameResolverFactory nameResolverFactory =
new FakeNameResolverFactory.Builder(expectedUri).build();
String rawLbConfig = "{ \"setting1\": \"high\" }";
Object parsedLbConfig = new Object();
Map<String, Object> rawServiceConfig =
parseConfig("{\"loadBalancingConfig\": [ {\"mock_lb\": " + rawLbConfig + " } ] }");
ManagedChannelServiceConfig parsedServiceConfig =
Expand All @@ -1167,7 +1168,7 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio
new PolicySelection(
mockLoadBalancerProvider,
parseConfig(rawLbConfig),
new Object()));
parsedLbConfig));
nameResolverFactory.nextConfigOrError.set(ConfigOrError.fromConfig(parsedServiceConfig));
channelBuilder.nameResolverFactory(nameResolverFactory);
createChannel();
Expand All @@ -1178,9 +1179,7 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio
ArgumentCaptor.forClass(ResolvedAddresses.class);
verify(mockLoadBalancer).handleResolvedAddresses(resultCaptor.capture());
assertThat(resultCaptor.getValue().getAddresses()).isEmpty();
Attributes actualAttrs = resultCaptor.getValue().getAttributes();
Map<String, ?> lbConfig = actualAttrs.get(LoadBalancer.ATTR_LOAD_BALANCING_CONFIG);
assertEquals(ImmutableMap.of("setting1", "high"), lbConfig);
assertThat(resultCaptor.getValue().getLoadBalancingPolicyConfig()).isEqualTo(parsedLbConfig);

// A no resolution retry
assertEquals(0, timer.numPendingTasks(NAME_RESOLVER_REFRESH_TASK_FILTER));
Expand Down

0 comments on commit bf7a42d

Please sign in to comment.