Open mverijdt opened 5 years ago
@maarten-shop4 I believe this should be solved by https://github.com/doctrine/orm/pull/7778, would you be able to update to v2.6.4
and try it out?
@lcobucci I just updated to v2.6.4
and I'm also experiencing this issue.
@MrNicodemuz interesting, would you be up for sending us a PR with a failing functional test? That should help us a lot to identify and fix the issue.
@lcobucci Here is a stack trace to begin with, not sure if it will be helpful:
In UnitOfWork.php line 2997:
[ErrorException]
Notice: Undefined index: 000000003c43dfef0000000028496ab9
Exception trace:
at /Users/Nico/Projects/lms-platform/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:2997
Doctrine\ORM\UnitOfWork->getEntityIdentifier() at /Users/Nico/Projects/lms-platform/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php:575
Doctrine\ORM\Persisters\Entity\BasicEntityPersister->delete() at /Users/Nico/Projects/lms-platform/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1188
Doctrine\ORM\UnitOfWork->executeDeletions() at /Users/Nico/Projects/lms-platform/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:411
Doctrine\ORM\UnitOfWork->commit() at /Users/Nico/Projects/lms-platform/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:359
Doctrine\ORM\EntityManager->flush() at /Users/Nico/Projects/lms-platform/symfony/src/EventListener/TagLinkRemovalListener.php:74
App\EventListener\TagLinkRemovalListener->handleTagCount() at /Users/Nico/Projects/lms-platform/symfony/src/EventListener/TagLinkRemovalListener.php:41
App\EventListener\TagLinkRemovalListener->postRemove() at /Users/Nico/Projects/lms-platform/symfony/vendor/symfony/doctrine-bridge/ContainerAwareEventManager.php:55
Symfony\Bridge\Doctrine\ContainerAwareEventManager->dispatchEvent() at /Users/Nico/Projects/lms-platform/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/Event/ListenersInvoker.php:117
Doctrine\ORM\Event\ListenersInvoker->invoke() at /Users/Nico/Projects/lms-platform/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1205
Doctrine\ORM\UnitOfWork->executeDeletions() at /Users/Nico/Projects/lms-platform/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:411
Doctrine\ORM\UnitOfWork->commit() at /Users/Nico/Projects/lms-platform/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:359
Doctrine\ORM\EntityManager->flush() at /Users/Nico/Projects/lms-platform/symfony/src/Manager/YoutubeManager.php:495
App\Manager\YoutubeManager->removeYoutubeVideo() at /Users/Nico/Projects/lms-platform/symfony/src/Service/YoutubeSyncService.php:217
App\Service\YoutubeSyncService->deleteOldVideos() at /Users/Nico/Projects/lms-platform/symfony/src/Command/YoutubeSyncCommand.php:82
App\Command\YoutubeSyncCommand->handleSync() at /Users/Nico/Projects/lms-platform/symfony/src/Command/YoutubeSyncCommand.php:62
App\Command\YoutubeSyncCommand->execute() at /Users/Nico/Projects/lms-platform/symfony/vendor/symfony/console/Command/Command.php:255
Symfony\Component\Console\Command\Command->run() at /Users/Nico/Projects/lms-platform/symfony/vendor/symfony/console/Application.php:933
Symfony\Component\Console\Application->doRunCommand() at /Users/Nico/Projects/lms-platform/symfony/vendor/symfony/framework-bundle/Console/Application.php:87
Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /Users/Nico/Projects/lms-platform/symfony/vendor/symfony/console/Application.php:272
Symfony\Component\Console\Application->doRun() at /Users/Nico/Projects/lms-platform/symfony/vendor/symfony/framework-bundle/Console/Application.php:73
Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /Users/Nico/Projects/lms-platform/symfony/vendor/symfony/console/Application.php:148
Symfony\Component\Console\Application->run() at /Users/Nico/Projects/lms-platform/symfony/bin/console:46
The stack is not really helpful, sorry.
Bug Report
Summary
Doctrine ORM is throwing Exceptions in UnitOfWork related to DefaultEntityCache
Current behavior
These are the errors:
prod environment:
dev environment:
How to reproduce
Reproducing the problem is also a problem, see this repository
Expected behavior
I'd expect that the UnitOfWork would be able to find an entityIdentifier for OneToOne associations
A little more information and context
I've tried to explain this issue at stackoverflow
I'm not sure if it's L2 cache, it could also be Query Cache. but it has to be some sort of cache, when I disable all cache configuration in the application my Importer commands work perfectly together with all other components. Even the symfony/validation component which is the last component added when the errors started occuring
One other thing, this might be related to this issue or any of the other issues reported with One To One associations and