From 4fc939a17640fd1abf1a94d106b7836ae20c1d1e Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 17 Nov 2022 21:53:16 +1300 Subject: [PATCH] Fixes unexpected max acquire-timeout (#5377) Important for applications where high pool contention is expected, and completion is favored over latency. Co-authored-by: Matt --- lib/client.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/client.js b/lib/client.js index e3128616cb..98869eddd2 100644 --- a/lib/client.js +++ b/lib/client.js @@ -213,11 +213,16 @@ class Client extends EventEmitter { } }); + const DEFAULT_ACQUIRE_TIMEOUT = 60000; const timeouts = [ - this.config.acquireConnectionTimeout || 60000, - poolConfig.acquireTimeoutMillis, + this.config.acquireConnectionTimeout, + poolConfig.acquireTimeoutMillis ].filter((timeout) => timeout !== undefined); + if (!timeouts.length) { + timeouts.push(DEFAULT_ACQUIRE_TIMEOUT) + } + // acquire connection timeout can be set on config or config.pool // choose the smallest, positive timeout setting and set on poolConfig poolConfig.acquireTimeoutMillis = Math.min(...timeouts);