]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- A major improvement made to the mechanics by which the :class:`.Engine`
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 22 Mar 2014 22:45:39 +0000 (18:45 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 22 Mar 2014 22:45:39 +0000 (18:45 -0400)
commiteed9cfc3ae027f21a1f46a6e07fcef0724741eb2
tree5cffcebebd3e7561fd4102709910d6e194f21830
parentbe3c185fd48c2abcc5d9f54dd0c415e15c33184f
- A major improvement made to the mechanics by which the :class:`.Engine`
recycles the connection pool when a "disconnect" condition is detected;
instead of discarding the pool and explicitly closing out connections,
the pool is retained and a "generational" timestamp is updated to
reflect the current time, thereby causing all existing connections
to be recycled when they are next checked out.   This greatly simplifies
the recycle process, removes the need for "waking up" connect attempts
waiting on the old pool and eliminates the race condition that many
immediately-discarded "pool" objects could be created during the
recycle operation. fixes #2985
doc/build/changelog/changelog_09.rst
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/orm/strategies.py
lib/sqlalchemy/pool.py
lib/sqlalchemy/util/queue.py
test/engine/test_pool.py
test/engine/test_reconnect.py