ConnectionTimeoutMillis is not respected and pool.connect hangs indefinitely
mikewang333 opened this issue · comments
Hi, I work on a product that allows users to connect to their own postgres instance and write queries.
I noticed for hostnames related to incorta, if the configuration isn't set up properly the connectionTimeoutMillis
isn't respected and the event loop is blocked at pool.connect.
Example repro with a sample incorta postgres instance (I'm using a free trial instance so it might expire soon. It's pretty easy to spin up another one though on their site).
const { Pool } = require('pg');
const executeQuery = async () => {
const pool = new Pool({ host: 'incorta-5668.sqli.cloud13.incorta.com', port: 3482, connectionTimeoutMillis: 1000});
pool.on('error', (err) => {
console.error('Unexpected error on idle client', err);
process.exit(-1);
});
// STUCK AT THIS LINE
const client = await pool.connect();
client.release();
await pool.end();
};
executeQuery();
Would be great if this could timeout after the configured connectionTimeoutMillis
like it would with other misconfigured postgres instances.
We're using pg version 8.11.3 currently. Thank you! :)