From 2901922ab10cb1e5aa203554b178ae47cb4f0677 Mon Sep 17 00:00:00 2001 From: Mattias Wiberg Date: Fri, 24 Oct 2025 16:06:54 +0200 Subject: [PATCH] grpc-js: Fix server keep alive timeout not properly destroying connections --- packages/grpc-js/src/server.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/grpc-js/src/server.ts b/packages/grpc-js/src/server.ts index 6e68c695a..73d84b787 100644 --- a/packages/grpc-js/src/server.ts +++ b/packages/grpc-js/src/server.ts @@ -1609,7 +1609,7 @@ export class Server { if (err) { this.keepaliveTrace('Ping failed with error: ' + err.message); sessionClosedByServer = true; - session.close(); + session.destroy(); } else { this.keepaliveTrace('Received ping response'); maybeStartKeepalivePingTimer(); @@ -1631,7 +1631,7 @@ export class Server { 'Connection dropped due to ping send error: ' + pingSendError ); sessionClosedByServer = true; - session.close(); + session.destroy(); return; } @@ -1640,7 +1640,7 @@ export class Server { this.keepaliveTrace('Ping timeout passed without response'); this.trace('Connection dropped by keepalive timeout'); sessionClosedByServer = true; - session.close(); + session.destroy(); }, this.keepaliveTimeoutMs); keepaliveTimer.unref?.(); }; @@ -1803,7 +1803,7 @@ export class Server { duration ); sessionClosedByServer = true; - session.close(); + session.destroy(); } else { this.keepaliveTrace('Received ping response'); maybeStartKeepalivePingTimer(); @@ -1826,7 +1826,7 @@ export class Server { 'Connection dropped due to ping send error: ' + pingSendError ); sessionClosedByServer = true; - session.close(); + session.destroy(); return; } @@ -1840,7 +1840,7 @@ export class Server { 'Connection dropped by keepalive timeout from ' + clientAddress ); sessionClosedByServer = true; - session.close(); + session.destroy(); }, this.keepaliveTimeoutMs); keepaliveTimeout.unref?.(); };