mirror of https://github.com/grpc/grpc-java.git
Revert "xds: better error handling to avoid RPC hangup"
This reverts commit a223263134.
This commit is contained in:
parent
64e827d996
commit
2eccdb8337
|
|
@ -410,7 +410,6 @@ final class LookasideLb extends LoadBalancer {
|
||||||
@Override
|
@Override
|
||||||
public void onError(Status error) {
|
public void onError(Status error) {
|
||||||
channelLogger.log(ChannelLogLevel.ERROR, "EDS load balancer received an error: {0}", error);
|
channelLogger.log(ChannelLogLevel.ERROR, "EDS load balancer received an error: {0}", error);
|
||||||
lookasideLbHelper.updateBalancingState(TRANSIENT_FAILURE, new ErrorPicker(error));
|
|
||||||
endpointUpdateCallback.onError();
|
endpointUpdateCallback.onError();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,6 @@ import io.grpc.Status;
|
||||||
import io.grpc.SynchronizationContext.ScheduledHandle;
|
import io.grpc.SynchronizationContext.ScheduledHandle;
|
||||||
import io.grpc.util.ForwardingLoadBalancerHelper;
|
import io.grpc.util.ForwardingLoadBalancerHelper;
|
||||||
import io.grpc.xds.LookasideLb.EndpointUpdateCallback;
|
import io.grpc.xds.LookasideLb.EndpointUpdateCallback;
|
||||||
import io.grpc.xds.XdsSubchannelPickers.ErrorPicker;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import javax.annotation.CheckForNull;
|
import javax.annotation.CheckForNull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
@ -119,10 +118,6 @@ final class XdsLoadBalancer2 extends LoadBalancer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
helper.updateBalancingState(
|
|
||||||
ConnectivityState.TRANSIENT_FAILURE,
|
|
||||||
new ErrorPicker(Status.UNAVAILABLE.withDescription(
|
|
||||||
"Channel is not ready when timeout for entering fallback mode happens")));
|
|
||||||
useFallbackPolicy();
|
useFallbackPolicy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -666,12 +666,9 @@ public class LookasideLbTest {
|
||||||
public void verifyErrorPropagation() {
|
public void verifyErrorPropagation() {
|
||||||
deliverResolvedAddresses(new XdsConfig(null, null, "edsServiceName1", null));
|
deliverResolvedAddresses(new XdsConfig(null, null, "edsServiceName1", null));
|
||||||
|
|
||||||
verify(helper, never()).updateBalancingState(
|
|
||||||
eq(TRANSIENT_FAILURE), any(SubchannelPicker.class));
|
|
||||||
verify(edsUpdateCallback, never()).onError();
|
verify(edsUpdateCallback, never()).onError();
|
||||||
// Forwarding 20 seconds so that the xds client will deem EDS resource not available.
|
// Forwarding 20 seconds so that the xds client will deem EDS resource not available.
|
||||||
fakeClock.forwardTime(20, TimeUnit.SECONDS);
|
fakeClock.forwardTime(20, TimeUnit.SECONDS);
|
||||||
verify(helper).updateBalancingState(eq(TRANSIENT_FAILURE), any(SubchannelPicker.class));
|
|
||||||
verify(edsUpdateCallback).onError();
|
verify(edsUpdateCallback).onError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,6 @@ package io.grpc.xds;
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static io.grpc.ConnectivityState.CONNECTING;
|
import static io.grpc.ConnectivityState.CONNECTING;
|
||||||
import static io.grpc.ConnectivityState.READY;
|
import static io.grpc.ConnectivityState.READY;
|
||||||
import static io.grpc.ConnectivityState.TRANSIENT_FAILURE;
|
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
|
||||||
import static org.mockito.ArgumentMatchers.eq;
|
|
||||||
import static org.mockito.ArgumentMatchers.same;
|
import static org.mockito.ArgumentMatchers.same;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
@ -147,9 +144,7 @@ public class XdsLoadBalancer2Test {
|
||||||
fakeClock.forwardTime(9, TimeUnit.SECONDS);
|
fakeClock.forwardTime(9, TimeUnit.SECONDS);
|
||||||
edsUpdateCallback.onWorking();
|
edsUpdateCallback.onWorking();
|
||||||
verifyNotInFallbackMode();
|
verifyNotInFallbackMode();
|
||||||
|
|
||||||
fakeClock.forwardTime(1, TimeUnit.SECONDS);
|
fakeClock.forwardTime(1, TimeUnit.SECONDS);
|
||||||
verify(helper).updateBalancingState(eq(TRANSIENT_FAILURE), any(SubchannelPicker.class));
|
|
||||||
verifyInFallbackMode();
|
verifyInFallbackMode();
|
||||||
|
|
||||||
SubchannelPicker subchannelPicker = mock(SubchannelPicker.class);
|
SubchannelPicker subchannelPicker = mock(SubchannelPicker.class);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue