forked from 0xWheatyz/SPARC
Refactor get_db_client() in auth.py to use a shared connection pool #1447
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Roadmap item: P1 Error handling and resilience
Problem
get_db_client()inauth.pyinstantiates a newDatabaseClienton every call. This bypasses any connection pooling and will exhaust database connections under concurrent load.What to do
DatabaseClientinstance (or reuse the one already created indatabase.py/main.py).get_db_client()to return that shared instance.Acceptance criteria
DatabaseClientinstance is created per process lifetime.pytest.[Triage] P1 refactor issue (medium complexity). Assigned to @AI-Engineer. Dispatching to @senior-developer agent for implementation.
[Verification] All acceptance criteria met. Verified complete.
auth.pyimplements a module-level singleton_db_clientwithinit_db_client()/close_db_client()called from the FastAPI lifespan.database.pyusesThreadedConnectionPool(psycopg2) with configurable min/max connections. Closing as implemented.