summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/mapper.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2021-02-02 11:26:55 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2021-02-02 13:44:55 -0500
commita7eeac60cae28bb553327d317a88adb22c799ef3 (patch)
tree0884b56223e48bda508807143aff316fe96a1c3e /lib/sqlalchemy/orm/mapper.py
parent45c8fe6c0a755aa7a777dd0c12f97bb52dcc00a7 (diff)
downloadsqlalchemy-a7eeac60cae28bb553327d317a88adb22c799ef3.tar.gz
don't fail if purge recyclebin fails/mutex on registry
the recyclebin purge is failing after SetInputSizesTest on occasion. try to reduce transaction overhead and don't error out if the purge fails. ensure _CONFIGURE_MUTEX is used when mutating or iterating the _mapper_registries collection. Change-Id: I9d9cd53b92419a2ad97bae5ee8bdd2657b6e408f
Diffstat (limited to 'lib/sqlalchemy/orm/mapper.py')
-rw-r--r--lib/sqlalchemy/orm/mapper.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py
index 66c062724..16a2c6416 100644
--- a/lib/sqlalchemy/orm/mapper.py
+++ b/lib/sqlalchemy/orm/mapper.py
@@ -62,11 +62,12 @@ _legacy_registry = None
def _all_registries():
- return set(_mapper_registries)
+ with _CONFIGURE_MUTEX:
+ return set(_mapper_registries)
def _unconfigured_mappers():
- for reg in _mapper_registries:
+ for reg in _all_registries():
for mapper in reg._mappers_to_configure():
yield mapper
@@ -3347,7 +3348,7 @@ def configure_mappers():
"""
- _configure_registries(set(_mapper_registries), cascade=True)
+ _configure_registries(_all_registries(), cascade=True)
def _configure_registries(registries, cascade):