Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Messenger] messenger:setup-transports: LOCK TABLE can only be used in transaction blocks #37179

Closed
@dunglas

Description

@dunglas

Symfony version(s) affected: 5.1.0

Description

The messenger:setup-transports command doesn't work.

How to reproduce

bin/console messenger:setup-transports -vvv

Additional context

I'm using Postgres. Here is the stack trace:

bin/console  messenger:setup-transports -vvv

In AbstractPostgreSQLDriver.php line 79:
                                                                                                           
  [Doctrine\DBAL\Exception\DriverException]                                                                
  An exception occurred while executing 'LOCK TABLE messenger_messages;':                                  
                                                                                                           
  SQLSTATE[25P01]: No active sql transaction: 7 ERROR:  LOCK TABLE can only be used in transaction blocks  
                                                                                                           

Exception trace:
  at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractPostgreSQLDriver.php:79
 Doctrine\DBAL\Driver\AbstractPostgreSQLDriver->convertException() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:169
 Doctrine\DBAL\DBALException::wrapException() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:149
 Doctrine\DBAL\DBALException::driverExceptionDuringQuery() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1102
 Doctrine\DBAL\Connection->exec() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/AbstractSchemaSynchronizer.php:44
 Doctrine\DBAL\Schema\Synchronizer\AbstractSchemaSynchronizer->processSql() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SingleDatabaseSynchronizer.php:139
 Doctrine\DBAL\Schema\Synchronizer\SingleDatabaseSynchronizer->updateSchema() at /srv/api/vendor/symfony/doctrine-messenger/Transport/Connection.php:251
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\Connection->setup() at /srv/api/vendor/symfony/doctrine-messenger/Transport/PostgreSqlConnection.php:88
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\PostgreSqlConnection->setup() at /srv/api/vendor/symfony/doctrine-messenger/Transport/DoctrineTransport.php:101
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineTransport->setup() at /srv/api/vendor/symfony/messenger/Command/SetupTransportsCommand.php:74
 Symfony\Component\Messenger\Command\SetupTransportsCommand->execute() at /srv/api/vendor/symfony/console/Command/Command.php:258
 Symfony\Component\Console\Command\Command->run() at /srv/api/vendor/symfony/console/Application.php:929
 Symfony\Component\Console\Application->doRunCommand() at /srv/api/vendor/symfony/framework-bundle/Console/Application.php:96
 Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /srv/api/vendor/symfony/console/Application.php:264
 Symfony\Component\Console\Application->doRun() at /srv/api/vendor/symfony/framework-bundle/Console/Application.php:82
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /srv/api/vendor/symfony/console/Application.php:140
 Symfony\Component\Console\Application->run() at /srv/api/bin/console:42

In PDOConnection.php line 43:
                                                                                                           
  [Doctrine\DBAL\Driver\PDOException (25P01)]                                                              
  SQLSTATE[25P01]: No active sql transaction: 7 ERROR:  LOCK TABLE can only be used in transaction blocks  
                                                                                                           

Exception trace:
  at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43
 Doctrine\DBAL\Driver\PDOConnection->exec() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1100
 Doctrine\DBAL\Connection->exec() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/AbstractSchemaSynchronizer.php:44
 Doctrine\DBAL\Schema\Synchronizer\AbstractSchemaSynchronizer->processSql() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SingleDatabaseSynchronizer.php:139
 Doctrine\DBAL\Schema\Synchronizer\SingleDatabaseSynchronizer->updateSchema() at /srv/api/vendor/symfony/doctrine-messenger/Transport/Connection.php:251
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\Connection->setup() at /srv/api/vendor/symfony/doctrine-messenger/Transport/PostgreSqlConnection.php:88
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\PostgreSqlConnection->setup() at /srv/api/vendor/symfony/doctrine-messenger/Transport/DoctrineTransport.php:101
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineTransport->setup() at /srv/api/vendor/symfony/messenger/Command/SetupTransportsCommand.php:74
 Symfony\Component\Messenger\Command\SetupTransportsCommand->execute() at /srv/api/vendor/symfony/console/Command/Command.php:258
 Symfony\Component\Console\Command\Command->run() at /srv/api/vendor/symfony/console/Application.php:929
 Symfony\Component\Console\Application->doRunCommand() at /srv/api/vendor/symfony/framework-bundle/Console/Application.php:96
 Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /srv/api/vendor/symfony/console/Application.php:264
 Symfony\Component\Console\Application->doRun() at /srv/api/vendor/symfony/framework-bundle/Console/Application.php:82
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /srv/api/vendor/symfony/console/Application.php:140
 Symfony\Component\Console\Application->run() at /srv/api/bin/console:42

In PDOConnection.php line 41:
                                                                                                           
  [PDOException (25P01)]                                                                                   
  SQLSTATE[25P01]: No active sql transaction: 7 ERROR:  LOCK TABLE can only be used in transaction blocks  
                                                                                                           

Exception trace:
  at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:41
 PDO->exec() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:41
 Doctrine\DBAL\Driver\PDOConnection->exec() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1100
 Doctrine\DBAL\Connection->exec() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/AbstractSchemaSynchronizer.php:44
 Doctrine\DBAL\Schema\Synchronizer\AbstractSchemaSynchronizer->processSql() at /srv/api/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SingleDatabaseSynchronizer.php:139
 Doctrine\DBAL\Schema\Synchronizer\SingleDatabaseSynchronizer->updateSchema() at /srv/api/vendor/symfony/doctrine-messenger/Transport/Connection.php:251
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\Connection->setup() at /srv/api/vendor/symfony/doctrine-messenger/Transport/PostgreSqlConnection.php:88
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\PostgreSqlConnection->setup() at /srv/api/vendor/symfony/doctrine-messenger/Transport/DoctrineTransport.php:101
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineTransport->setup() at /srv/api/vendor/symfony/messenger/Command/SetupTransportsCommand.php:74
 Symfony\Component\Messenger\Command\SetupTransportsCommand->execute() at /srv/api/vendor/symfony/console/Command/Command.php:258
 Symfony\Component\Console\Command\Command->run() at /srv/api/vendor/symfony/console/Application.php:929
 Symfony\Component\Console\Application->doRunCommand() at /srv/api/vendor/symfony/framework-bundle/Console/Application.php:96
 Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /srv/api/vendor/symfony/console/Application.php:264
 Symfony\Component\Console\Application->doRun() at /srv/api/vendor/symfony/framework-bundle/Console/Application.php:82
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /srv/api/vendor/symfony/console/Application.php:140
 Symfony\Component\Console\Application->run() at /srv/api/bin/console:42

messenger:setup-transports [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command> [<transport>]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions