Uploaded image for project: 'eZ Platform Enterprise Edition'
  1. eZ Platform Enterprise Edition
  2. EZEE-3491

Some services are using invalid Doctrine connection

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • 3.3.2, 2.5.18, 3.2.6
    • 3.2.4, 3.3.1, 2.5.17
    • None

    Description

      Looks like some Services are using the default Doctrine connection regardless of the specified SiteAccess (and the connection it should be using).

      Steps to reproduce:
      1. In config/packages/doctrine.yaml define a new database connection and break the default one:

      doctrine:
           dbal:
                default_connection: default
                connections:
                     default:
                          url: 'mysql://INVALID:INVALID@127.0.0.1/INVALID'
                     second_connection:
                          url: '%env(resolve:DATABASE_URL)%'
      

      2. In config/packages/ezplatform.yaml define a new repository:

           repositories:
                default:
                     storage: null
                     search:
                          engine: '%search_engine%'
                          connection: default
                new_repository:
                     storage:
                          engine: legacy
                          connection: second_connection
                          config: {  }
                     search:
                          connection: second_connection
      (...)
      

      3. And (in the same file) configure SiteAccess site and SiteAccess group admin_group to use it:

                site:
      (...)
                     repository: new_repository
                admin_group:
      (...)
                     repository: new_repository
      

      4. Open your site in the browser (frontend or admin panel)

      Expected:
      Site opens correctly

      Actual:
      Something tries to use the default Doctrine connection.

      An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'INVALID'@'localhost' (using password: YES)
      

      Stacktrace:

      Doctrine\DBAL\Exception\ConnectionException:
      An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'INVALID'@'localhost' (using password: YES)
      
        at vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:112
        at Doctrine\DBAL\Driver\AbstractMySQLDriver->convertException('An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user \'INVALID\'@\'localhost\' (using password: YES)', object(Exception))
           (vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:182)
        at Doctrine\DBAL\DBALException::wrapException(object(Driver), object(Exception), 'An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user \'INVALID\'@\'localhost\' (using password: YES)')
           (vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:169)
        at Doctrine\DBAL\DBALException::driverException(object(Driver), object(Exception))
           (vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php:30)
        at Doctrine\DBAL\Driver\PDOMySql\Driver->connect(array('url' => 'mysql://INVALID:INVALID@127.0.0.1/INVALID', 'host' => '127.0.0.1', 'port' => null, 'user' => 'INVALID', 'password' => 'INVALID', 'driver' => 'pdo_mysql', 'driverOptions' => array(), 'defaultTableOptions' => array('collate' => 'utf8mb4_unicode_ci'), 'dbname' => 'INVALID', 'charset' => 'utf8mb4'), 'INVALID', 'INVALID', array())
           (vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:362)
        at Doctrine\DBAL\Connection->connect()
           (vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:427)
        at Doctrine\DBAL\Connection->getDatabasePlatformVersion()
           (vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:387)
        at Doctrine\DBAL\Connection->detectDatabasePlatform()
           (vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:330)
        at Doctrine\DBAL\Connection->getDatabasePlatform()
           (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:800)
        at Doctrine\ORM\Mapping\ClassMetadataFactory->getTargetPlatform()
           (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:643)
        at Doctrine\ORM\Mapping\ClassMetadataFactory->completeIdGeneratorMapping(object(ClassMetadata))
           (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:165)
        at Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata(object(ClassMetadata), null, false, array())
           (vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/AbstractClassMetadataFactory.php:306)
        at Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata('Silversolutions\\Bundle\\EshopBundle\\Entity\\ErpLog')
           (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:81)
        at Doctrine\ORM\Mapping\ClassMetadataFactory->loadMetadata('Silversolutions\\Bundle\\EshopBundle\\Entity\\ErpLog')
           (vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/AbstractClassMetadataFactory.php:184)
        at Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor('SilversolutionsEshopBundle:ErpLog')
           (vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:288)
        at Doctrine\ORM\EntityManager->getClassMetadata('SilversolutionsEshopBundle:ErpLog')
           (vendor/doctrine/doctrine-bundle/Repository/ContainerRepositoryFactory.php:37)
        at Doctrine\Bundle\DoctrineBundle\Repository\ContainerRepositoryFactory->getRepository(object(EntityManager), 'SilversolutionsEshopBundle:ErpLog')
           (vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:747)
        at Doctrine\ORM\EntityManager->getRepository('SilversolutionsEshopBundle:ErpLog')
           (var/cache/dev/Container9hBkcZc/EntityManager_9a5be93.php:220)
        at Container9hBkcZc\EntityManager_9a5be93->getRepository('SilversolutionsEshopBundle:ErpLog')
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:16631)
        at Container9hBkcZc\App_KernelDevDebugContainer->getSisoErp_LoggerService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:7267)
        at Container9hBkcZc\App_KernelDevDebugContainer->getSilverErp_MessageTransportService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:7253)
        at Container9hBkcZc\App_KernelDevDebugContainer->getSilverErp_FacadeService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:7090)
        at Container9hBkcZc\App_KernelDevDebugContainer->getSes_CustomerProfileData_EzErpService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:16445)
        at Container9hBkcZc\App_KernelDevDebugContainer->getSilverCommon_Twig_SilverExtensionService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:3216)
        at Container9hBkcZc\App_KernelDevDebugContainer->get_Container_Private_TwigService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:7821)
        at Container9hBkcZc\App_KernelDevDebugContainer->getBlockServiceService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:3781)
        at Container9hBkcZc\App_KernelDevDebugContainer->getType3Service()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:9755)
        at Container9hBkcZc\App_KernelDevDebugContainer->getFieldTypeRegistryService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:10994)
        at Container9hBkcZc\App_KernelDevDebugContainer->getEzpublish_Api_InnerRepositoryService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:9608)
        at Container9hBkcZc\App_KernelDevDebugContainer->getRepositoryService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:6185)
        at Container9hBkcZc\App_KernelDevDebugContainer->getEzpublish_Api_RepositoryService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:14658)
        at Container9hBkcZc\App_KernelDevDebugContainer->getEzpublish_UrlaliasGeneratorService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:14683)
        at Container9hBkcZc\App_KernelDevDebugContainer->getEzpublish_UrlaliasRouterService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:7046)
        at Container9hBkcZc\App_KernelDevDebugContainer->getRouterService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:9518)
        at Container9hBkcZc\App_KernelDevDebugContainer->getLocaleListenerService()
           (var/cache/dev/Container9hBkcZc/App_KernelDevDebugContainer.php:5167)
        at Container9hBkcZc\App_KernelDevDebugContainer->Container9hBkcZc\{closure}()
           (vendor/symfony/event-dispatcher/EventDispatcher.php:245)
        at Symfony\Component\EventDispatcher\EventDispatcher->sortListeners('kernel.request')
           (vendor/symfony/event-dispatcher/EventDispatcher.php:76)
        at Symfony\Component\EventDispatcher\EventDispatcher->getListeners('kernel.request')
           (vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:290)
        at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->preProcess('kernel.request')
           (vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:145)
        at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
           (vendor/symfony/http-kernel/HttpKernel.php:133)
        at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
           (vendor/symfony/http-kernel/HttpKernel.php:79)
        at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
           (vendor/symfony/http-kernel/Kernel.php:195)
        at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
           (public/index.php:20)                
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            marek.nocon@ibexa.co Marek NocoĊ„
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: