From af966f04b864a811c7a38df26ca683af78c1a02f Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Mon, 8 Nov 2021 09:44:11 -0800 Subject: [PATCH 1/2] grpc-js: Remove an extra call to registerChannelzSocket --- packages/grpc-js/package.json | 2 +- packages/grpc-js/src/subchannel.ts | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/grpc-js/package.json b/packages/grpc-js/package.json index 69d0662b..e14ffa0e 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() { From 8658fd5752cca9338210eb4544c6f76231fdcf51 Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Thu, 18 Nov 2021 12:48:40 -0800 Subject: [PATCH 2/2] grpc-js-xds: Remove LDS and CDS code for removing RDS and EDS entries --- .../src/xds-stream-state/cds-state.ts | 6 ------ .../src/xds-stream-state/eds-state.ts | 17 ----------------- .../src/xds-stream-state/lds-state.ts | 6 ------ .../src/xds-stream-state/rds-state.ts | 10 ---------- 4 files changed, 39 deletions(-) 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 5dae09fb..01e1db13 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 @@ -149,14 +149,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); @@ -164,7 +159,6 @@ export class CdsState implements XdsStreamState { } trace('Received CDS updates for cluster names ' + Array.from(allClusterNames)); this.handleMissingNames(allClusterNames); - this.edsState.handleMissingNames(allEdsServiceNames); return errorMessage; } 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 7d28ed5f..7e57012c 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 @@ -128,23 +128,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: ClusterLoadAssignment__Output[], isV2: boolean) { const validResponses: ClusterLoadAssignment__Output[] = []; let errorMessage: string | null = null; 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 5706e376..2797bc1a 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 @@ -167,13 +167,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); @@ -181,7 +176,6 @@ export class LdsState implements XdsStreamState { } trace('Received RDS response with route config names ' + Array.from(allTargetNames)); this.handleMissingNames(allTargetNames); - this.rdsState.handleMissingNames(allRouteConfigNames); return errorMessage; } 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 5a385432..4f06bd2d 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 @@ -172,16 +172,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: RouteConfiguration__Output[], isV2: boolean): string | null { const validResponses: RouteConfiguration__Output[] = []; let errorMessage: string | null = null;