Skip to content

Commit 4ab3739

Browse files
committed
Revert "xds: xdsClient caches transient error for new watchers (v1.75.x backport) (grpc#12291)"
This reverts commit 14fd8ef.
1 parent 2ecf870 commit 4ab3739

File tree

2 files changed

+0
-30
lines changed

2 files changed

+0
-30
lines changed

xds/src/main/java/io/grpc/xds/client/XdsClientImpl.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -676,8 +676,6 @@ private final class ResourceSubscriber<T extends ResourceUpdate> {
676676
private ResourceMetadata metadata;
677677
@Nullable
678678
private String errorDescription;
679-
@Nullable
680-
private Status lastError;
681679

682680
ResourceSubscriber(XdsResourceType<T> type, String resource) {
683681
syncContext.throwIfNotInThisSynchronizationContext();
@@ -714,16 +712,11 @@ void addWatcher(ResourceWatcher<T> watcher, Executor watcherExecutor) {
714712
watchers.put(watcher, watcherExecutor);
715713
T savedData = data;
716714
boolean savedAbsent = absent;
717-
Status savedError = lastError;
718715
watcherExecutor.execute(() -> {
719716
if (errorDescription != null) {
720717
watcher.onError(Status.INVALID_ARGUMENT.withDescription(errorDescription));
721718
return;
722719
}
723-
if (savedError != null) {
724-
watcher.onError(savedError);
725-
return;
726-
}
727720
if (savedData != null) {
728721
notifyWatcher(watcher, savedData);
729722
} else if (savedAbsent) {
@@ -815,7 +808,6 @@ void onData(ParsedResource<T> parsedResource, String version, long updateTime,
815808
this.metadata = ResourceMetadata
816809
.newResourceMetadataAcked(parsedResource.getRawResource(), version, updateTime);
817810
absent = false;
818-
lastError = null;
819811
if (resourceDeletionIgnored) {
820812
logger.log(XdsLogLevel.FORCE_INFO, "xds server {0}: server returned new version "
821813
+ "of resource for which we previously ignored a deletion: type {1} name {2}",
@@ -865,7 +857,6 @@ void onAbsent(@Nullable ProcessingTracker processingTracker, ServerInfo serverIn
865857
if (!absent) {
866858
data = null;
867859
absent = true;
868-
lastError = null;
869860
metadata = serverInfo.resourceTimerIsTransientError()
870861
? ResourceMetadata.newResourceMetadataTimeout()
871862
: ResourceMetadata.newResourceMetadataDoesNotExist();
@@ -903,7 +894,6 @@ void onError(Status error, @Nullable ProcessingTracker tracker) {
903894
Status errorAugmented = Status.fromCode(error.getCode())
904895
.withDescription(description + "nodeID: " + bootstrapInfo.node().getId())
905896
.withCause(error.getCause());
906-
this.lastError = errorAugmented;
907897

908898
for (ResourceWatcher<T> watcher : watchers.keySet()) {
909899
if (tracker != null) {

xds/src/test/java/io/grpc/xds/GrpcXdsClientImplTestBase.java

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -285,8 +285,6 @@ public long currentTimeNanos() {
285285
@Mock
286286
private ResourceWatcher<LdsUpdate> ldsResourceWatcher;
287287
@Mock
288-
private ResourceWatcher<LdsUpdate> ldsResourceWatcher2;
289-
@Mock
290288
private ResourceWatcher<RdsUpdate> rdsResourceWatcher;
291289
@Mock
292290
private ResourceWatcher<CdsUpdate> cdsResourceWatcher;
@@ -696,24 +694,6 @@ public void ldsResourceUpdated_withXdstpResourceName_withUnknownAuthority() {
696694
assertThat(resourceDiscoveryCalls.poll()).isNull();
697695
}
698696

699-
@Test
700-
public void ldsResource_onError_cachedForNewWatcher() {
701-
xdsClient.watchXdsResource(XdsListenerResource.getInstance(), LDS_RESOURCE,
702-
ldsResourceWatcher);
703-
DiscoveryRpcCall call = resourceDiscoveryCalls.poll();
704-
call.sendCompleted();
705-
verify(ldsResourceWatcher).onError(errorCaptor.capture());
706-
Status initialError = errorCaptor.getValue();
707-
xdsClient.watchXdsResource(XdsListenerResource.getInstance(), LDS_RESOURCE,
708-
ldsResourceWatcher2);
709-
ArgumentCaptor<Status> secondErrorCaptor = ArgumentCaptor.forClass(Status.class);
710-
verify(ldsResourceWatcher2).onError(secondErrorCaptor.capture());
711-
Status cachedError = secondErrorCaptor.getValue();
712-
713-
assertThat(cachedError).isEqualTo(initialError);
714-
assertThat(resourceDiscoveryCalls.poll()).isNull();
715-
}
716-
717697
@Test
718698
public void ldsResponseErrorHandling_allResourcesFailedUnpack() {
719699
DiscoveryRpcCall call = startResourceWatcher(XdsListenerResource.getInstance(), LDS_RESOURCE,

0 commit comments

Comments
 (0)