diff --git a/packages/grpc-js-xds/src/xds-stream-state/cds-state.ts b/packages/grpc-js-xds/src/xds-stream-state/cds-state.ts index ce0434b8..7737dc96 100644 --- a/packages/grpc-js-xds/src/xds-stream-state/cds-state.ts +++ b/packages/grpc-js-xds/src/xds-stream-state/cds-state.ts @@ -164,14 +164,9 @@ export class CdsState implements XdsStreamState { } this.latestResponses = validResponses; this.latestIsV2 = isV2; - const allEdsServiceNames: Set = new Set(); const allClusterNames: Set = new Set(); for (const message of validResponses) { allClusterNames.add(message.name); - const edsServiceName = message.eds_cluster_config?.service_name ?? ''; - allEdsServiceNames.add( - edsServiceName === '' ? message.name : edsServiceName - ); const watchers = this.watchers.get(message.name) ?? []; for (const watcher of watchers) { watcher.onValidUpdate(message, isV2); @@ -179,7 +174,6 @@ export class CdsState implements XdsStreamState { } trace('Received CDS updates for cluster names [' + Array.from(allClusterNames) + ']'); result.missing = this.handleMissingNames(allClusterNames); - this.edsState.handleMissingNames(allEdsServiceNames); return result; } diff --git a/packages/grpc-js-xds/src/xds-stream-state/eds-state.ts b/packages/grpc-js-xds/src/xds-stream-state/eds-state.ts index 5360400c..fe9f3c62 100644 --- a/packages/grpc-js-xds/src/xds-stream-state/eds-state.ts +++ b/packages/grpc-js-xds/src/xds-stream-state/eds-state.ts @@ -129,23 +129,6 @@ export class EdsState implements XdsStreamState { return true; } - /** - * Given a list of edsServiceNames (which may actually be the cluster name), - * for each watcher watching a name not on the list, call that watcher's - * onResourceDoesNotExist method. - * @param allClusterNames - */ - handleMissingNames(allEdsServiceNames: Set) { - for (const [edsServiceName, watcherList] of this.watchers.entries()) { - if (!allEdsServiceNames.has(edsServiceName)) { - trace('Reporting EDS resource does not exist for edsServiceName ' + edsServiceName); - for (const watcher of watcherList) { - watcher.onResourceDoesNotExist(); - } - } - } - } - handleResponses(responses: ResourcePair[], isV2: boolean): HandleResponseResult { const validResponses: ClusterLoadAssignment__Output[] = []; let result: HandleResponseResult = { diff --git a/packages/grpc-js-xds/src/xds-stream-state/lds-state.ts b/packages/grpc-js-xds/src/xds-stream-state/lds-state.ts index 0c4fdc51..7c27c948 100644 --- a/packages/grpc-js-xds/src/xds-stream-state/lds-state.ts +++ b/packages/grpc-js-xds/src/xds-stream-state/lds-state.ts @@ -183,13 +183,8 @@ export class LdsState implements XdsStreamState { this.latestResponses = validResponses; this.latestIsV2 = isV2; const allTargetNames = new Set(); - const allRouteConfigNames = new Set(); for (const message of validResponses) { allTargetNames.add(message.name); - const httpConnectionManager = decodeSingleResource(HTTP_CONNECTION_MANGER_TYPE_URL_V3, message.api_listener!.api_listener!.value); - if (httpConnectionManager.rds) { - allRouteConfigNames.add(httpConnectionManager.rds.route_config_name); - } const watchers = this.watchers.get(message.name) ?? []; for (const watcher of watchers) { watcher.onValidUpdate(message, isV2); @@ -197,7 +192,6 @@ export class LdsState implements XdsStreamState { } trace('Received LDS response with listener names [' + Array.from(allTargetNames) + ']'); result.missing = this.handleMissingNames(allTargetNames); - this.rdsState.handleMissingNames(allRouteConfigNames); return result; } diff --git a/packages/grpc-js-xds/src/xds-stream-state/rds-state.ts b/packages/grpc-js-xds/src/xds-stream-state/rds-state.ts index 0ff4c2aa..bc1c4a81 100644 --- a/packages/grpc-js-xds/src/xds-stream-state/rds-state.ts +++ b/packages/grpc-js-xds/src/xds-stream-state/rds-state.ts @@ -173,16 +173,6 @@ export class RdsState implements XdsStreamState { return true; } - handleMissingNames(allRouteConfigNames: Set) { - for (const [routeConfigName, watcherList] of this.watchers.entries()) { - if (!allRouteConfigNames.has(routeConfigName)) { - for (const watcher of watcherList) { - watcher.onResourceDoesNotExist(); - } - } - } - } - handleResponses(responses: ResourcePair[], isV2: boolean): HandleResponseResult { const validResponses: RouteConfiguration__Output[] = []; let result: HandleResponseResult = { diff --git a/packages/grpc-js/package.json b/packages/grpc-js/package.json index 392d403f..69d565ad 100644 --- a/packages/grpc-js/package.json +++ b/packages/grpc-js/package.json @@ -1,6 +1,6 @@ { "name": "@grpc/grpc-js", - "version": "1.4.3", + "version": "1.4.4", "description": "gRPC Library for Node - pure JS implementation", "homepage": "https://grpc.io/", "repository": "https://github.com/grpc/grpc-node/tree/master/packages/grpc-js", diff --git a/packages/grpc-js/src/subchannel.ts b/packages/grpc-js/src/subchannel.ts index 87defa74..6f9471bb 100644 --- a/packages/grpc-js/src/subchannel.ts +++ b/packages/grpc-js/src/subchannel.ts @@ -555,7 +555,6 @@ export class Subchannel { (error as Error).message ); }); - registerChannelzSocket(this.subchannelAddressString, () => this.getChannelzSocketInfo()!); } private startConnectingInternal() {