File pool_overflow_counter_fix.patch of Package python-SQLAlchemy
Index: SQLAlchemy-0.7.10/lib/sqlalchemy/pool.py
===================================================================
--- SQLAlchemy-0.7.10.orig/lib/sqlalchemy/pool.py
+++ SQLAlchemy-0.7.10/lib/sqlalchemy/pool.py
@@ -399,7 +399,11 @@ class _ConnectionFairy(object):
self._echo = _echo = pool._should_log_debug()
try:
rec = self._connection_record = pool._do_get()
- conn = self.connection = self._connection_record.get_connection()
+ try:
+ conn = self.connection = self._connection_record.get_connection()
+ except:
+ _finalize_fairy(None, rec, pool, None, _echo)
+ raise
rec.fairy = weakref.ref(
self,
lambda ref:_finalize_fairy and _finalize_fairy(conn, rec, pool, ref, _echo)