NoCorrespondingEntityClassException for VarnishPurgerSettings

Created on 7 March 2023, over 2 years ago
Updated 27 May 2025, 12 days ago

Problem/Motivation

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:

  1. drush site-install --existing-config -y
  2. drush locale-check
  3. drush locale-update
  4. drush cache:rebuild -y
  5. 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

Steps to reproduce

I do not have any specific steps. The error occurs occasionally and we have not been able to determine a pattern.

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

🐛 Bug report
Status

Active

Version

2.1

Component

Code

Created by

🇩🇰Denmark kasperg

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.71.5 2024