fix dubbo proxyless xds connect, fix Connection closed after GOAWAY, add xds observer retry create (#10544)

This commit is contained in:
wucheng1997 2022-10-10 19:13:53 +08:00 committed by GitHub
parent f3e999e710
commit d84d098f3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 1 deletions

View File

@ -154,6 +154,11 @@ public abstract class AbstractProtocol<T, S extends DeltaResource<T>> implements
// observer reused
StreamObserver<DiscoveryRequest> observer = requestObserverMap.get(request);
if (observer == null) {
observer = xdsChannel.createDeltaDiscoveryRequest(new ResponseObserver(request));
requestObserverMap.put(request, observer);
}
// send request to control panel
observer.onNext(buildDiscoveryRequest(names));
@ -231,11 +236,17 @@ public abstract class AbstractProtocol<T, S extends DeltaResource<T>> implements
@Override
public void onError(Throwable t) {
logger.error("xDS Client received error message! detail:", t);
clear();
}
@Override
public void onCompleted() {
// ignore
logger.info("xDS Client completed, requestId: " + requestId);
clear();
}
private void clear() {
requestObserverMap.remove(requestId);
}
}