From 23ff7fb1cd4a9bf2c75de8815f4dcec502aa6827 Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Oct 2025 08:36:11 -0700 Subject: [PATCH] fix(db): revert to dedicated sockets db connection establishment This reverts commit ae3a7f08653cd8d274157c51a6d307183e8f2efe. --- apps/sim/socket-server/database/operations.ts | 8 +++---- apps/sim/socket-server/rooms/manager.ts | 4 ++-- packages/db/index.ts | 21 +++++++++++++++++-- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/apps/sim/socket-server/database/operations.ts b/apps/sim/socket-server/database/operations.ts index 3e55091719..8502d14ae0 100644 --- a/apps/sim/socket-server/database/operations.ts +++ b/apps/sim/socket-server/database/operations.ts @@ -13,15 +13,15 @@ const connectionString = env.DATABASE_URL const socketDb = drizzle( postgres(connectionString, { prepare: false, - idle_timeout: 20, - connect_timeout: 10, - max: 5, + idle_timeout: 10, + connect_timeout: 20, + max: 15, onnotice: () => {}, }), { schema } ) -// Use dedicated connection for socket operations +// Use dedicated connection for socket operations, fallback to shared db for compatibility const db = socketDb // Constants diff --git a/apps/sim/socket-server/rooms/manager.ts b/apps/sim/socket-server/rooms/manager.ts index 74f16f9ecf..b436211385 100644 --- a/apps/sim/socket-server/rooms/manager.ts +++ b/apps/sim/socket-server/rooms/manager.ts @@ -11,8 +11,8 @@ const connectionString = env.DATABASE_URL const db = drizzle( postgres(connectionString, { prepare: false, - idle_timeout: 20, - connect_timeout: 10, + idle_timeout: 15, + connect_timeout: 20, max: 3, onnotice: () => {}, }), diff --git a/packages/db/index.ts b/packages/db/index.ts index 6c7567a004..62c00a8a68 100644 --- a/packages/db/index.ts +++ b/packages/db/index.ts @@ -10,11 +10,28 @@ if (!connectionString) { throw new Error('Missing DATABASE_URL environment variable') } +console.log( + '[DB Pool Init]', + JSON.stringify({ + timestamp: new Date().toISOString(), + nodeEnv: process.env.NODE_ENV, + action: 'CREATING_CONNECTION_POOL', + poolConfig: { + max: 30, + idle_timeout: 20, + connect_timeout: 30, + prepare: false, + }, + pid: process.pid, + isProduction: process.env.NODE_ENV === 'production', + }) +) + const postgresClient = postgres(connectionString, { prepare: false, idle_timeout: 20, - connect_timeout: 10, - max: 20, + connect_timeout: 30, + max: 30, onnotice: () => {}, })