mirror of
https://github.com/kennethreitz/photos.kennethreitz.org.git
synced 2026-06-05 06:46:13 +00:00
08247c2b1d
Wedges resumed despite the April 16 DB-timeout fix, and this time with zero ESTABLISHED connections to Postgres — so not a DB deadlock. Most suspicious piece is DbRetryMiddleware itself: its async path awaits sync_to_async(...) inside an exception handler, a known-tricky pattern on the asgiref thread pool. Django already handles stale-connection recovery via conn_health_checks=True plus the psycopg connect_timeout/ statement_timeout added earlier, so the retry layer isn't load-bearing. Also: - RequestLoggingMiddleware is now async-capable, so the full chain stays async for async views instead of hopping through the thread pool on every request. - Bump django-bolt 0.7.4 → 0.7.5 for any upstream fixes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>