Revert "xds: better error handling to avoid RPC hangup"
This reverts commit a223263134c2bd4bf97b943bc52a0a128bc67268.
diff --git a/xds/src/main/java/io/grpc/xds/LookasideLb.java b/xds/src/main/java/io/grpc/xds/LookasideLb.java
index f0c8711..416d009 100644
--- a/xds/src/main/java/io/grpc/xds/LookasideLb.java
+++ b/xds/src/main/java/io/grpc/xds/LookasideLb.java
@@ -410,7 +410,6 @@
@Override
public void onError(Status error) {
channelLogger.log(ChannelLogLevel.ERROR, "EDS load balancer received an error: {0}", error);
- lookasideLbHelper.updateBalancingState(TRANSIENT_FAILURE, new ErrorPicker(error));
endpointUpdateCallback.onError();
}
}
diff --git a/xds/src/main/java/io/grpc/xds/XdsLoadBalancer2.java b/xds/src/main/java/io/grpc/xds/XdsLoadBalancer2.java
index 564b085..fdbfdf5 100644
--- a/xds/src/main/java/io/grpc/xds/XdsLoadBalancer2.java
+++ b/xds/src/main/java/io/grpc/xds/XdsLoadBalancer2.java
@@ -28,7 +28,6 @@
import io.grpc.SynchronizationContext.ScheduledHandle;
import io.grpc.util.ForwardingLoadBalancerHelper;
import io.grpc.xds.LookasideLb.EndpointUpdateCallback;
-import io.grpc.xds.XdsSubchannelPickers.ErrorPicker;
import java.util.concurrent.TimeUnit;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
@@ -119,10 +118,6 @@
@Override
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();
}
}
diff --git a/xds/src/test/java/io/grpc/xds/LookasideLbTest.java b/xds/src/test/java/io/grpc/xds/LookasideLbTest.java
index 2c1ce73..4208040 100644
--- a/xds/src/test/java/io/grpc/xds/LookasideLbTest.java
+++ b/xds/src/test/java/io/grpc/xds/LookasideLbTest.java
@@ -666,12 +666,9 @@
public void verifyErrorPropagation() {
deliverResolvedAddresses(new XdsConfig(null, null, "edsServiceName1", null));
- verify(helper, never()).updateBalancingState(
- eq(TRANSIENT_FAILURE), any(SubchannelPicker.class));
verify(edsUpdateCallback, never()).onError();
// Forwarding 20 seconds so that the xds client will deem EDS resource not available.
fakeClock.forwardTime(20, TimeUnit.SECONDS);
- verify(helper).updateBalancingState(eq(TRANSIENT_FAILURE), any(SubchannelPicker.class));
verify(edsUpdateCallback).onError();
}
diff --git a/xds/src/test/java/io/grpc/xds/XdsLoadBalancer2Test.java b/xds/src/test/java/io/grpc/xds/XdsLoadBalancer2Test.java
index 694f5e5..db8b82e 100644
--- a/xds/src/test/java/io/grpc/xds/XdsLoadBalancer2Test.java
+++ b/xds/src/test/java/io/grpc/xds/XdsLoadBalancer2Test.java
@@ -19,9 +19,6 @@
import static com.google.common.truth.Truth.assertThat;
import static io.grpc.ConnectivityState.CONNECTING;
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.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -147,9 +144,7 @@
fakeClock.forwardTime(9, TimeUnit.SECONDS);
edsUpdateCallback.onWorking();
verifyNotInFallbackMode();
-
fakeClock.forwardTime(1, TimeUnit.SECONDS);
- verify(helper).updateBalancingState(eq(TRANSIENT_FAILURE), any(SubchannelPicker.class));
verifyInFallbackMode();
SubchannelPicker subchannelPicker = mock(SubchannelPicker.class);