- 🇧🇪Belgium yorickdv
Fixed this by manually rsyncing the varnish_purger module directory to our remote environment instead of our usual deploy process.
Occasionally when installing a site from configuration which has a configured Varnish Purger we run into the following error.
We have the following steps in our installation process:
drush site-install --existing-config -y
drush locale-check
drush locale-update
drush cache:rebuild -y
drush cache:rebuild-external -y
The error occurs after step 2 is completed but during work by the LateRuntimeProcessor
from the purge
module.
[...]
Notice: > [notice] Checked da translation for redis.
Notice: > [notice] Checked da translation for schemata.
Notice: > [notice] Checked da translation for varnish_purge.
Notice: > [notice] Message: Checked available interface translation updates for 16 projects.
>
PHP Fatal error: Uncaught Drupal\Core\Entity\Exception\NoCorrespondingEntityClassException: The Drupal\varnish_purger\Entity\VarnishPurgerSettings class does not correspond to an entity type. in /app/web/core/lib/Drupal/Core/Entity/EntityTypeRepository.php:98
> Stack trace:
> #0 /app/web/core/lib/Drupal/Core/Entity/EntityBase.php(487): Drupal\Core\Entity\EntityTypeRepository->getEntityTypeFromClass('Drupal\\varnish_...')
> #1 /app/web/modules/contrib/purge/src/Plugin/Purge/Purger/PurgerSettingsBase.php(23): Drupal\Core\Entity\EntityBase::load('65fc931232')
> #2 /app/web/modules/contrib/varnish_purge/src/Plugin/Purge/Purger/VarnishPurgerBase.php(52): Drupal\purge\Plugin\Purge\Purger\PurgerSettingsBase::load('65fc931232')
> #3 /app/web/modules/contrib/varnish_purge/src/Plugin/Purge/Purger/VarnishPurgerBase.php(66): Drupal\varnish_purger\Plugin\Purge\Purger\VarnishPurgerBase->__construct(Array, 'varnishbundled', Array, Object(GuzzleHttp\Client), Object(Drupal\Core\Utility\Token))
> #4 /app/web/core/lib/Drupal/Core/Plugin/Factory/ContainerFactory.php(21): Drupal\varnish_purger\Plugin\Purge\Purger\VarnishPurgerBase::create(Object(Drupal\Core\DependencyInjection\Container), Array, 'varnishbundled', Array)
> #5 /app/web/core/lib/Drupal/Component/Plugin/PluginManagerBase.php(83): Drupal\Core\Plugin\Factory\ContainerFactory->createInstance('varnishbundled', Array)
> #6 /app/web/modules/contrib/purge/src/Plugin/Purge/Purger/PurgersService.php(399): Drupal\Component\Plugin\PluginManagerBase->createInstance('varnishbundled', Array)
> #7 /app/web/modules/contrib/purge/src/Plugin/Purge/Purger/PurgersService.php(147): Drupal\purge\Plugin\Purge\Purger\PurgersService->initializePurgers()
> #8 /app/web/modules/contrib/purge/src/Plugin/Purge/Queue/QueueService.php(143): Drupal\purge\Plugin\Purge\Purger\PurgersService->capacityTracker()
> #9 /app/web/modules/contrib/purge/modules/purge_processor_lateruntime/src/EventSubscriber/LateRuntimeProcessor.php(87): Drupal\purge\Plugin\Purge\Queue\QueueService->claim()
> #10 [internal function]: Drupal\purge_processor_lateruntime\EventSubscriber\LateRuntimeProcessor->onKernelTerminate(Object(Symfony\Component\HttpKernel\Event\TerminateEvent), 'kernel.terminat...', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
> #11 /app/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\TerminateEvent), 'kernel.terminat...', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
> #12 /app/vendor/symfony/http-kernel/HttpKernel.php(100): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\TerminateEvent), 'kernel.terminat...')
> #13 /app/vendor/stack/builder/src/Stack/StackedHttpKernel.php(32): Symfony\Component\HttpKernel\HttpKernel->terminate(Object(Symfony\Component\HttpFoundation\Request), Object(Symfony\Component\HttpFoundation\Response))
> #14 /app/web/core/lib/Drupal/Core/DrupalKernel.php(687): Stack\StackedHttpKernel->terminate(Object(Symfony\Component\HttpFoundation\Request), Object(Symfony\Component\HttpFoundation\Response))
> #15 /app/vendor/drush/drush/src/Boot/DrupalBoot8.php(298): Drupal\Core\DrupalKernel->terminate(Object(Symfony\Component\HttpFoundation\Request), Object(Symfony\Component\HttpFoundation\Response))
> #16 [internal function]: Drush\Boot\DrupalBoot8->terminate()
> #17 {main}
> thrown in /app/web/core/lib/Drupal/Core/Entity/EntityTypeRepository.php on line 98>
PHP Fatal error: Uncaught Drupal\Core\Entity\Exception\NoCorrespondingEntityClassException: The Drupal\varnish_purger\Entity\VarnishPurgerSettings class does not correspond to an entity type. in /app/web/core/lib/Drupal/Core/Entity/EntityTypeRepository.php:98
Stack trace:
#0 /app/web/core/lib/Drupal/Core/Entity/EntityBase.php(487): Drupal\Core\Entity\EntityTypeRepository->getEntityTypeFromClass('Drupal\\varnish_...')
#1 /app/web/modules/contrib/purge/src/Plugin/Purge/Purger/PurgerSettingsBase.php(23): Drupal\Core\Entity\EntityBase::load('65fc931232')
#2 /app/web/modules/contrib/varnish_purge/src/Plugin/Purge/Purger/VarnishPurgerBase.php(52): Drupal\purge\Plugin\Purge\Purger\PurgerSettingsBase::load('65fc931232')
#3 /app/web/modules/contrib/varnish_purge/src/Plugin/Purge/Purger/VarnishPurgerBase.php(66): Drupal\varnish_purger\Plugin\Purge\Purger\VarnishPurgerBase->__construct(Array, 'varnishbundled', Array, Object(GuzzleHttp\Client), Object(Drupal\Core\Utility\Token))
#4 /app/web/core/lib/Drupal/Core/Plugin/Factory/ContainerFactory.php(21): Drupal\varnish_purger\Plugin\Purge\Purger\VarnishPurgerBase::create(Object(Drupal\Core\DependencyInjection\Container), Array, 'varnishbundled', Array)
#5 /app/web/core/lib/Drupal/Component/Plugin/PluginManagerBase.php(83): Drupal\Core\Plugin\Factory\ContainerFactory->createInstance('varnishbundled', Array)
#6 /app/web/modules/contrib/purge/src/Plugin/Purge/Purger/PurgersService.php(399): Drupal\Component\Plugin\PluginManagerBase->createInstance('varnishbundled', Array)
#7 /app/web/modules/contrib/purge/src/Plugin/Purge/Purger/PurgersService.php(147): Drupal\purge\Plugin\Purge\Purger\PurgersService->initializePurgers()
#8 /app/web/modules/contrib/purge/src/Plugin/Purge/Queue/QueueService.php(143): Drupal\purge\Plugin\Purge\Purger\PurgersService->capacityTracker()
#9 /app/web/modules/contrib/purge/modules/purge_processor_lateruntime/src/EventSubscriber/LateRuntimeProcessor.php(87): Drupal\purge\Plugin\Purge\Queue\QueueService->claim()
#10 [internal function]: Drupal\purge_processor_lateruntime\EventSubscriber\LateRuntimeProcessor->onKernelTerminate(Object(Symfony\Component\HttpKernel\Event\TerminateEvent), 'kernel.terminat...', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#11 /app/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\TerminateEvent), 'kernel.terminat...', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#12 /app/vendor/symfony/http-kernel/HttpKernel.php(100): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\TerminateEvent), 'kernel.terminat...')
#13 /app/vendor/stack/builder/src/Stack/StackedHttpKernel.php(32): Symfony\Component\HttpKernel\HttpKernel->terminate(Object(Symfony\Component\HttpFoundation\Request), Object(Symfony\Component\HttpFoundation\Response))
#14 /app/web/core/lib/Drupal/Core/DrupalKernel.php(687): Stack\StackedHttpKernel->terminate(Object(Symfony\Component\HttpFoundation\Request), Object(Symfony\Component\HttpFoundation\Response))
#15 /app/vendor/drush/drush/src/Boot/DrupalBoot8.php(298): Drupal\Core\DrupalKernel->terminate(Object(Symfony\Component\HttpFoundation\Request), Object(Symfony\Component\HttpFoundation\Response))
#16 [internal function]: Drush\Boot\DrupalBoot8->terminate()
#17 {main}
thrown in /app/web/core/lib/Drupal/Core/Entity/EntityTypeRepository.php on line 98
I do not have any specific steps. The error occurs occasionally and we have not been able to determine a pattern.
Active
2.1
Code
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.
Fixed this by manually rsyncing the varnish_purger module directory to our remote environment instead of our usual deploy process.