Details
-
Bug
-
Resolution: Duplicate
-
Medium
-
4.7.0
-
None
Description
The ezfindindexsubtree will roun out of memory if the data being processed is large enough. the exact data is not important, it can be many small objects, or less, but large objects. PHP memory resource is all consumed, and an error shows:
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 71 bytes) in /kernel/classes/XXXX.php on line YYY Fatal error: eZ Publish did not finish its request The execution of eZ Publish was abruptly ended, the debug output is present below.
message modified to XXX.php to avoid referring to a specific file, since it's not important, the actual break will be in a random, depending when the last available bytes are consumed.
test:
modify the ezfindex to output the memory usage with each object processed.
- create some folder with 100 sub objects (enough for to commit cycles inside the script)
- hide/reveal any subtree
- run the cronjob (first aneable the ezfindindex cron part in settings)
- note how the memory always increases for each object.
additional problem:
when the script breaks, the subtrees already processed are not removed from the pending actions. so on next time they will re-run again, and the cronjob will never work.
test:
- run the previous steps
- break the script before it fails/terminates
- run the script again
- note how it starts processing the same pending actions(object ids)
Attachments
Issue Links
- relates to
-
EZP-20952 Creating content causes a memory leak using ezfind
- Closed