From 60334cde93c188d1e0945a0b6eedc3accc9bc0b6 Mon Sep 17 00:00:00 2001 From: chihlasm Date: Sat, 21 Mar 2026 01:10:07 +0000 Subject: [PATCH] fix(db): add rollback on exception in get_db dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prevents InFailedSQLTransaction cascade — when a request fails mid- transaction, the connection is rolled back before being returned to the pool, so subsequent requests on the same connection don't inherit a poisoned transaction state. Co-Authored-By: Claude Opus 4.6 --- backend/app/core/database.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/backend/app/core/database.py b/backend/app/core/database.py index cee22d64..45dc8288 100644 --- a/backend/app/core/database.py +++ b/backend/app/core/database.py @@ -27,6 +27,9 @@ async def get_db() -> AsyncSession: async with async_session_maker() as session: try: yield session + except Exception: + await session.rollback() + raise finally: await session.close()