From 77420350d6d091048b9c4a460b60a819f476d79e Mon Sep 17 00:00:00 2001 From: Ryan Whitworth Date: Sat, 28 Mar 2026 15:49:31 -0400 Subject: [PATCH] fix(server): add database pool acquire, idle, and lifetime timeouts --- crates/openshell-server/src/persistence/postgres.rs | 3 +++ crates/openshell-server/src/persistence/sqlite.rs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/crates/openshell-server/src/persistence/postgres.rs b/crates/openshell-server/src/persistence/postgres.rs index 4b62516c4..c6f82a584 100644 --- a/crates/openshell-server/src/persistence/postgres.rs +++ b/crates/openshell-server/src/persistence/postgres.rs @@ -18,6 +18,9 @@ impl PostgresStore { pub async fn connect(url: &str) -> Result { let pool = PgPoolOptions::new() .max_connections(10) + .acquire_timeout(std::time::Duration::from_secs(5)) + .idle_timeout(std::time::Duration::from_secs(300)) + .max_lifetime(std::time::Duration::from_secs(1800)) .connect(url) .await .map_err(|e| map_db_error(&e))?; diff --git a/crates/openshell-server/src/persistence/sqlite.rs b/crates/openshell-server/src/persistence/sqlite.rs index 167f3521d..4d34e9337 100644 --- a/crates/openshell-server/src/persistence/sqlite.rs +++ b/crates/openshell-server/src/persistence/sqlite.rs @@ -30,6 +30,9 @@ impl SqliteStore { let pool = SqlitePoolOptions::new() .max_connections(max_connections) .min_connections(max_connections) + .acquire_timeout(std::time::Duration::from_secs(5)) + .idle_timeout(std::time::Duration::from_secs(300)) + .max_lifetime(std::time::Duration::from_secs(1800)) .connect_with(options) .await .map_err(|e| map_db_error(&e))?;