Jinwoo Hong
eb6068a434
fix(relay): stop a terminated checked-out PostgreSQL client from killing the cell ( #21840 )
...
pg-pool removes its own `error` listener when it hands a client out
(pg-pool@3.14 .0 index.js:344) and only reattaches it in `_release`
(index.js:385). Between acquire and release the client therefore has no
`error` listener, so when Cloud SQL terminates that session mid-statement
the emit becomes an unhandled 'error' event and the process exits.
`absorbPostgresIdleClientErrors` cannot see it: pg-pool routes to
`pool.on('error')` only from the idle listener.
Attach a per-checkout `error` listener in the one seam every relay
checkout passes through, log a single warn line, and release the client
with the error so pg-pool destroys it instead of pooling a dead
connection. The listener is removed on release so it cannot accumulate.
The in-flight query still rejects, so existing failure reporting and the
transaction retry ladder are unchanged.
Claude-Session: https://claude.ai/session/ced32ebb-7155-4413-adad-1eccd14c2010
2026-09-20 17:46:25 -04:00
..
2026-09-11 14:25:10 -04:00
2026-09-17 14:02:06 -04:00
2026-09-03 06:55:14 -04:00
2026-09-11 14:25:10 -04:00
2026-09-20 15:13:27 -04:00
2026-09-20 15:13:27 -04:00
2026-09-20 15:13:27 -04:00
2026-09-04 04:34:22 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 23:16:15 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 17:55:35 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-20 15:13:27 -04:00
2026-09-20 15:13:27 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 17:55:35 -04:00
2026-09-18 23:16:15 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 23:16:15 -04:00
2026-09-20 15:13:27 -04:00
2026-09-18 17:55:19 -04:00
2026-09-18 17:55:19 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 17:55:19 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-09-16 14:50:34 -04:00
2026-09-16 14:50:34 -04:00
2026-09-20 15:13:27 -04:00
2026-09-20 17:46:25 -04:00
2026-09-04 18:18:46 -04:00
2026-09-17 01:46:33 -04:00
2026-09-17 01:46:33 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 23:16:15 -04:00
2026-09-18 23:16:15 -04:00
2026-09-17 19:25:54 -04:00
2026-09-04 04:34:22 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 19:07:11 -04:00
2026-09-17 18:54:56 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 18:54:56 -04:00
2026-09-20 17:46:25 -04:00
2026-09-18 17:55:19 -04:00
2026-09-17 01:00:28 -04:00
2026-09-17 12:26:22 -04:00
2026-09-11 14:25:10 -04:00
2026-09-20 17:46:25 -04:00
2026-09-12 18:12:20 -07:00
2026-09-12 18:12:20 -07:00
2026-09-12 18:12:20 -07:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-04 16:51:49 -04:00
2026-09-04 16:51:49 -04:00
2026-09-17 16:45:25 -04:00
2026-09-17 19:25:54 -04:00
2026-09-20 15:13:27 -04:00
2026-09-04 16:51:49 -04:00
2026-09-11 14:25:10 -04:00
2026-09-18 21:16:19 -04:00
2026-09-20 15:13:27 -04:00
2026-09-11 14:25:10 -04:00
2026-09-18 21:16:19 -04:00
2026-09-11 14:25:10 -04:00
2026-09-18 17:55:19 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-20 17:46:25 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 19:07:11 -04:00
2026-09-20 17:46:25 -04:00
2026-09-20 17:46:25 -04:00
2026-09-17 12:26:22 -04:00
2026-09-20 17:46:25 -04:00
2026-09-18 17:55:19 -04:00
2026-09-03 21:20:27 -04:00
2026-09-10 17:59:46 -04:00
2026-09-14 17:32:49 -04:00
2026-09-14 17:32:49 -04:00
2026-09-04 18:18:46 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-11 14:25:10 -04:00
2026-09-20 15:13:27 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-09-17 16:45:25 -04:00
2026-09-20 15:13:27 -04:00
2026-09-07 04:40:37 -04:00
2026-09-20 15:50:43 -04:00
2026-09-18 21:16:19 -04:00
2026-09-18 21:16:19 -04:00
2026-09-20 15:13:27 -04:00
2026-09-16 21:50:14 -04:00
2026-09-16 21:50:14 -04:00
2026-09-20 15:13:27 -04:00
2026-09-11 14:25:10 -04:00
2026-09-03 06:55:14 -04:00
2026-09-20 15:13:27 -04:00
2026-09-20 15:13:27 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 01:46:33 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 01:46:33 -04:00
2026-09-17 01:46:33 -04:00
2026-09-17 01:46:33 -04:00
2026-09-17 12:26:22 -04:00
2026-09-03 06:55:14 -04:00
2026-09-17 16:53:39 -04:00
2026-09-20 15:13:27 -04:00
2026-09-20 15:13:27 -04:00
2026-09-17 18:54:56 -04:00
2026-09-03 17:27:57 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 21:31:53 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-07 07:39:38 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00