]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
ensure correct lock type propagated in pool recreate
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 1 Jan 2024 21:54:58 +0000 (16:54 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 1 Jan 2024 22:20:24 +0000 (17:20 -0500)
commitc65e4f4471cd10051476caaadcc92d7a7eb557b4
tree8a9b7b20b4b6f187690804067717192ac8ea68a9
parentf459ddd5dae2aca8aa3ccaf775ff80453f22aad1
ensure correct lock type propagated in pool recreate

Fixed critical issue in asyncio version of the connection pool where
calling :meth:`_asyncio.AsyncEngine.dispose` would produce a new connection
pool that did not fully re-establish the use of asyncio-compatible mutexes,
leading to the use of a plain ``threading.Lock()`` which would then cause
deadlocks in an asyncio context when using concurrency features like
``asyncio.gather()``.

Fixes: #10813
Change-Id: I95ec698b6a1ba79555aa0b28e6bce65fedf3b1fe
(cherry picked from commit 2ed32bbf891b8f7e6c151071b4711319d9aa84f0)
doc/build/changelog/unreleased_14/10813.rst [new file with mode: 0644]
lib/sqlalchemy/event/attr.py
test/ext/asyncio/test_engine_py3k.py