]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Close connection if begin fails
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 13 Dec 2019 17:44:23 +0000 (12:44 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 13 Dec 2019 17:45:51 +0000 (12:45 -0500)
commitff471152b62f71accda62d9ede87e0107b8a8bcb
treedbfd6463e0b4a399ae28f0e58551e4676ac7eba0
parent926952c4afe0b2e16c4a74f05958bded7b932760
Close connection if begin fails

Fixed issue where by if the "begin" of a transaction failed at the Core
engine/connection level, such as due to network error or database is locked
for some transactional recipes, within the context of the :class:`.Session`
procuring that connection from the connection pool and then immediately
returning it, the ORM :class:`.Session` would not close the connection
despite this connection not being stored within the state of that
:class:`.Session`.  This would lead to the connection being cleaned out by
the connection pool weakref handler within garbage collection which is an
unpreferred codepath that in some special configurations can emit errors in
standard error.

Fixes: #5034
Change-Id: I6502a55791d86845f34bc10889c218f00765dfdc
doc/build/changelog/unreleased_13/5034.rst [new file with mode: 0644]
lib/sqlalchemy/orm/session.py
test/orm/test_transaction.py