Skip to content

Commit

Permalink
The cluster_resolver LB policy intentionally does not want to trigger…
Browse files Browse the repository at this point in the history
… a name resolution refresh for the resolver in Channel, so use ignoreRefreshNameResolutionCheck() to avoid false-positive warnings.
  • Loading branch information
voidzcy committed Apr 15, 2021
1 parent fd1b608 commit 9256ec1
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
Expand Up @@ -279,8 +279,10 @@ private void handleEndpointResolutionError() {
private final class RefreshableHelper extends ForwardingLoadBalancerHelper {
private final Helper delegate;

@SuppressWarnings("deprecation")
private RefreshableHelper(Helper delegate) {
this.delegate = checkNotNull(delegate, "delegate");
delegate.ignoreRefreshNameResolutionCheck();
}

@Override
Expand Down
Expand Up @@ -452,6 +452,7 @@ public void onlyLogicalDnsCluster_endpointsResolved() {
assertAddressesEqual(Arrays.asList(endpoint1, endpoint2), childBalancer.addresses);
}

@SuppressWarnings("deprecation")
@Test
public void onlyLogicalDnsCluster_handleRefreshNameResolution() {
deliverConfigWithSingleLogicalDnsCluster();
Expand All @@ -461,6 +462,7 @@ public void onlyLogicalDnsCluster_handleRefreshNameResolution() {
resolver.deliverEndpointAddresses(Arrays.asList(endpoint1, endpoint2));
assertThat(resolver.refreshCount).isEqualTo(0);
FakeLoadBalancer childBalancer = Iterables.getOnlyElement(childBalancers);
verify(childBalancer.helper).ignoreRefreshNameResolutionCheck();
childBalancer.helper.refreshNameResolution();
assertThat(resolver.refreshCount).isEqualTo(1);
}
Expand Down Expand Up @@ -509,6 +511,7 @@ public void onlyLogicalDnsCluster_resolutionError_backoffAndRefresh() {
inOrder.verifyNoMoreInteractions();
}

@SuppressWarnings("deprecation")
@Test
public void onlyLogicalDnsCluster_refreshNameResolutionRaceWithResolutionError() {
InOrder inOrder = Mockito.inOrder(backoffPolicyProvider, backoffPolicy1, backoffPolicy2);
Expand All @@ -519,6 +522,7 @@ public void onlyLogicalDnsCluster_refreshNameResolutionRaceWithResolutionError()
FakeLoadBalancer childBalancer = Iterables.getOnlyElement(childBalancers);
assertAddressesEqual(Collections.singletonList(endpoint), childBalancer.addresses);
assertThat(resolver.refreshCount).isEqualTo(0);
verify(childBalancer.helper).ignoreRefreshNameResolutionCheck();

childBalancer.helper.refreshNameResolution();
assertThat(resolver.refreshCount).isEqualTo(1);
Expand Down

0 comments on commit 9256ec1

Please sign in to comment.