Skip to content

v3.0.4: Prevent memory exhaustion in change set processing

Choose a tag to compare

@thorewi thorewi released this 29 Aug 05:54
· 11 commits to master since this release
Addresses two distinct scenarios that previously led to Out-Of-Memory errors during change set calculation:

1.  **Cyclic entity graphs:** Implements a recursion guard (`$changeSetsInProgress`) to prevent infinite loops when processing entities with circular references, which would otherwise consume all available memory.
2.  **Large collections:** Optimizes checking for entity presence within a collection (`isEntityInCollection`) to avoid hydrating potentially massive Doctrine PersistentCollections. It now leverages `mappedBy` metadata for uninitialized collections, preventing excessive memory usage for large related datasets.