]> 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:19 +0000 (17:20 -0500)
commit2ed32bbf891b8f7e6c151071b4711319d9aa84f0
tree3ac4c5e2b4c56cc336365e15578e7eedb64fa75b
parent74a31c56ed931921f89026faf50768c86801376f
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
doc/build/changelog/unreleased_14/10813.rst [new file with mode: 0644]
lib/sqlalchemy/event/attr.py
test/ext/asyncio/test_engine_py3k.py