Open DCoderLT opened 1 year ago
We found the following existing issues which may help or are related to your topic:
managedByComposer
flag for required pluginsHi,
thx for your issue we will put it into our new evaluation process and have a look at it again.
[public] Automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/NEXT-37957.
[created from NEXT-37957, comment 489033]
PHP Version
8.2
Shopware Version
6.5.0.0
Expected behaviour
When I use
TestBoostrapper
and force a Shopware reinstall, the system should not execute any code from plugins before plugins are actually registered.Actual behaviour
When
\Shopware\Core\Kernel
boots, it picks up active plugins from the database. WhenTestBoostrapper
forces a reinstall throughsystem:install
, the kernel is not rebooted after dropping the db - those active plugins are still registered, but their DB schema is now gone. Aftersystem:install
drops the db and runs the core migrations, it will calldal:refresh:index
. If one of those stale plugins had a service taggedshopware.entity_indexer
, this service will be triggered, and i that service was not written defensively, it can crash with a missing DB table or a similar problem. If that crash happens, the test database no longer contains the problematic plugin, so the next timeTestBootstrapper
boots, it will not register the plugin/indexer, and the test run will complete successfully. But if the test bootstrapper installs that poisonous plugin, the next test run will crash again... and the test runner will flip-flop between running and crashing with every run.I imagine that this is not limited to an entity indexer, and there are other scenarios where using those stale services can cause a problem.
How to reproduce
shopware.entity_indexer