mirror of https://github.com/grpc/grpc-java.git
xds: Check isHttp11ProxyAvailable in equals()
This fixes an equals/hashCode bug introduced in 12197065fe
.
Discovered when investigating b/430347751
This commit is contained in:
parent
01bd63d88f
commit
9d191b31b5
|
@ -89,7 +89,7 @@ public final class ClusterResolverLoadBalancerProvider extends LoadBalancerProvi
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(discoveryMechanisms, lbConfig);
|
return Objects.hash(discoveryMechanisms, lbConfig, isHttp11ProxyAvailable);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -102,7 +102,8 @@ public final class ClusterResolverLoadBalancerProvider extends LoadBalancerProvi
|
||||||
}
|
}
|
||||||
ClusterResolverConfig that = (ClusterResolverConfig) o;
|
ClusterResolverConfig that = (ClusterResolverConfig) o;
|
||||||
return discoveryMechanisms.equals(that.discoveryMechanisms)
|
return discoveryMechanisms.equals(that.discoveryMechanisms)
|
||||||
&& lbConfig.equals(that.lbConfig);
|
&& lbConfig.equals(that.lbConfig)
|
||||||
|
&& isHttp11ProxyAvailable == that.isHttp11ProxyAvailable;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -110,6 +111,7 @@ public final class ClusterResolverLoadBalancerProvider extends LoadBalancerProvi
|
||||||
return MoreObjects.toStringHelper(this)
|
return MoreObjects.toStringHelper(this)
|
||||||
.add("discoveryMechanisms", discoveryMechanisms)
|
.add("discoveryMechanisms", discoveryMechanisms)
|
||||||
.add("lbConfig", lbConfig)
|
.add("lbConfig", lbConfig)
|
||||||
|
.add("isHttp11ProxyAvailable", isHttp11ProxyAvailable)
|
||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@ import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
|
import com.google.common.testing.EqualsTester;
|
||||||
import io.grpc.Attributes;
|
import io.grpc.Attributes;
|
||||||
import io.grpc.ChannelLogger;
|
import io.grpc.ChannelLogger;
|
||||||
import io.grpc.ConnectivityState;
|
import io.grpc.ConnectivityState;
|
||||||
|
@ -1199,6 +1200,27 @@ public class ClusterResolverLoadBalancerTest {
|
||||||
any(ConnectivityState.class), any(SubchannelPicker.class));
|
any(ConnectivityState.class), any(SubchannelPicker.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void config_equalsTester() {
|
||||||
|
new EqualsTester()
|
||||||
|
.addEqualityGroup(
|
||||||
|
new ClusterResolverConfig(
|
||||||
|
Collections.singletonList(edsDiscoveryMechanism1), leastRequest, false),
|
||||||
|
new ClusterResolverConfig(
|
||||||
|
Collections.singletonList(edsDiscoveryMechanism1), leastRequest, false))
|
||||||
|
.addEqualityGroup(new ClusterResolverConfig(
|
||||||
|
Collections.singletonList(edsDiscoveryMechanism1), roundRobin, false))
|
||||||
|
.addEqualityGroup(new ClusterResolverConfig(
|
||||||
|
Collections.singletonList(edsDiscoveryMechanism1), leastRequest, true))
|
||||||
|
.addEqualityGroup(new ClusterResolverConfig(
|
||||||
|
Collections.singletonList(edsDiscoveryMechanismWithOutlierDetection),
|
||||||
|
leastRequest,
|
||||||
|
false))
|
||||||
|
.addEqualityGroup(new ClusterResolverConfig(
|
||||||
|
Arrays.asList(edsDiscoveryMechanism1, edsDiscoveryMechanism2), leastRequest, false))
|
||||||
|
.testEquals();
|
||||||
|
}
|
||||||
|
|
||||||
private void deliverLbConfig(ClusterResolverConfig config) {
|
private void deliverLbConfig(ClusterResolverConfig config) {
|
||||||
loadBalancer.acceptResolvedAddresses(
|
loadBalancer.acceptResolvedAddresses(
|
||||||
ResolvedAddresses.newBuilder()
|
ResolvedAddresses.newBuilder()
|
||||||
|
|
Loading…
Reference in New Issue