diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/build/changelog/unreleased_12/4507.rst | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/build/changelog/unreleased_12/4507.rst b/doc/build/changelog/unreleased_12/4507.rst new file mode 100644 index 000000000..39b37b93d --- /dev/null +++ b/doc/build/changelog/unreleased_12/4507.rst @@ -0,0 +1,13 @@ +.. change:: + :tags: bug, orm + :tickets: 4507 + + Fixed a regression in 1.2 due to the introduction of baked queries for + relationship lazy loaders, where a race condition is created during the + generation of the "lazy clause" which occurs within a memoized attribute. If + two threads initialize the memoized attribute concurrently, the baked query + could be generated with bind parameter keys that are then replaced with new + keys by the next run, leading to a lazy load query that specifies the + related criteria as ``None``. The fix establishes that the parameter names + are fixed before the new clause and parameter objects are generated, so that + the names are the same every time. |
