Details
-
Bug
-
Resolution: Fixed
-
High
-
2015.07, 5.4.4.3
-
None
Description
If you move a large subtree with delayed indexing set to on, the indexcontent.php cronjob will fail with a memory error.
Edited:
Steps to reproduce:
1. Set PHP memory_limit=64M (CLI, not apache);
2. Prepare an eZ Publish 5.4 installation, fully updated + eZ Find 5.4;
3. Enable delayed indexing:
- Configure /settings/override/site.ini.append.php:
[SearchSettings] DelayedIndexing=enabled
- Configure /settings/override/cronjob.ini.append.php:
<?php /* #?ini charset="utf8"? [CronjobPart-indexcontent] Scripts[]=indexcontent.php */ ?>
4. Start Solr service;
5. Create the following content structure:
Home Tests (folder) 2k articles (folder) Large number of articles (used 2k) Tests2
6. Move "2k articles" from "Tests" folder to "Tests2";
7. Run "indexcontent" cronjob:
$ php ezpublish/console --env=prod ezpublish:legacy:script runcronjobs.php indexcontent PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 32 bytes) in /var/www/54ezdemo.com/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php on line 748 PHP Stack trace: PHP 1. {main}() /var/www/54ezdemo.com/ezpublish/console:0 PHP 2. Symfony\Component\Console\Application->run() /var/www/54ezdemo.com/ezpublish/console:27 PHP 3. eZ\Bundle\EzPublishCoreBundle\Console\Application->doRun() /var/www/54ezdemo.com/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:126 PHP 4. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() /var/www/54ezdemo.com/vendor/ezsystems/ezpublish-kernel/eZ/Bundle/EzPublishCoreBundle/Console/Application.php:41 PHP 5. Symfony\Component\HttpKernel\Kernel->boot() /var/www/54ezdemo.com/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:70 PHP 6. Symfony\Component\HttpKernel\Kernel->initializeContainer() /var/www/54ezdemo.com/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:138 PHP 7. Symfony\Component\HttpKernel\Kernel->dumpContainer() /var/www/54ezdemo.com/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:547 PHP 8. Symfony\Component\HttpKernel\Kernel::stripComments() /var/www/54ezdemo.com/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:703 PHP 9. token_get_all() /var/www/54ezdemo.com/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:748