]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- fix a potential race condition where the per-mapper LRUCache used by
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 9 Mar 2015 19:24:37 +0000 (15:24 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 9 Mar 2015 19:24:37 +0000 (15:24 -0400)
commitb8a39b8636c8abef350e17ecca61e2a215931c9b
treee3367f57feae7f1d990cf132cffa0f9bf1fdfa41
parentadaa003300357179514628cd1735a7adae76b839
- fix a potential race condition where the per-mapper LRUCache used by
persistence.py could theoretically hit the limit of the cache
(100 items by default) and at some points fail to have a key that
we check for, due to the cleanup.   This has never been observed
so its likely that so far, the total number of INSERT, UPDATE and
DELETE statement structures in real apps has not exceeded 100
on a per-mapper basis; this could happen for apps that run a
very wide variety of attribute modified combinations into the unit
of work, *and* which have very high concurrency going on.
This change will be a lot more significant when we open up
use of LRUCache + compiled cache with the baked query extension.
lib/sqlalchemy/engine/base.py