Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DB Error 1040: Shlink hogging database connections resulting in too many connections error #2341

Closed
kub3let opened this issue Jan 26, 2025 · 5 comments · Fixed by #2342
Closed
Labels
Milestone

Comments

@kub3let
Copy link

kub3let commented Jan 26, 2025

Shlink version

docker-stable-4.4.0

PHP version

docker-stable-8.4.2

How do you serve Shlink

Docker image

Database engine

MariaDB

Database version

11.4.4-MariaDB

Current behavior

shlink is opening a lot of db connections and never closing them resulting in all db users being denied due to too many connections

This killed all other services i'm running and i had to limit connections by user to prevent this happening again.

Is this some bug that was introduced recently ? https://hub.docker.com/layers/shlinkio/shlink/stable/images/sha256-15283c2c7924baf289688f059c1ef9ec907c7f06a5d9629c36f3801734955c21

Expected behavior

close or reuse db connections

sure i can increase connection limits but there seems to be no end, so that's not going to fix it.

Minimum steps to reproduce

Running the official shlink server, stable tag, nothing special.

I limited connections to 25 per user and shlink got that in under 6 hours again, killing shlink.

100 is the default mariadb limit, afterwards everyone will be locked out and only shlink has that many connections.

# would be a lot more if not limited to 25...

root@docker:~# docker exec -it mariadb mariadb-admin processlist
+------+-----------+---------------------+-----------+---------+-------+----------+------------------+----------+
| Id   | User      | Host                | db        | Command | Time  | State    | Info             | Progress |
+------+-----------+---------------------+-----------+---------+-------+----------+------------------+----------+
| 3076 | shlink    | 192.168.3.130:33858 | shlink    | Sleep   | 28453 |          |                  | 0.000    |
| 3079 | shlink    | 192.168.3.130:33888 | shlink    | Sleep   | 28452 |          |                  | 0.000    |
| 3082 | shlink    | 192.168.3.130:33910 | shlink    | Sleep   | 28452 |          |                  | 0.000    |
| 3085 | shlink    | 192.168.3.130:33922 | shlink    | Sleep   | 28452 |          |                  | 0.000    |
| 3088 | shlink    | 192.168.3.130:33956 | shlink    | Sleep   | 28451 |          |                  | 0.000    |
| 3091 | shlink    | 192.168.3.130:33976 | shlink    | Sleep   | 28451 |          |                  | 0.000    |
| 3094 | shlink    | 192.168.3.130:34000 | shlink    | Sleep   | 28451 |          |                  | 0.000    |
| 4042 | shlink    | 192.168.3.130:35070 | shlink    | Sleep   | 15221 |          |                  | 0.000    |
| 4285 | shlink    | 192.168.3.130:33092 | shlink    | Sleep   | 12861 |          |                  | 0.000    |
| 4571 | shlink    | 192.168.3.130:41636 | shlink    | Sleep   | 10365 |          |                  | 0.000    |
| 4748 | shlink    | 192.168.3.130:39668 | shlink    | Sleep   | 7773  |          |                  | 0.000    |
| 4752 | shlink    | 192.168.3.130:39716 | shlink    | Sleep   | 7772  |          |                  | 0.000    |
| 4755 | shlink    | 192.168.3.130:39742 | shlink    | Sleep   | 7772  |          |                  | 0.000    |
| 4758 | shlink    | 192.168.3.130:39780 | shlink    | Sleep   | 7772  |          |                  | 0.000    |
| 4761 | shlink    | 192.168.3.130:39808 | shlink    | Sleep   | 7772  |          |                  | 0.000    |
| 4764 | shlink    | 192.168.3.130:39842 | shlink    | Sleep   | 7771  |          |                  | 0.000    |
| 4767 | shlink    | 192.168.3.130:39872 | shlink    | Sleep   | 7771  |          |                  | 0.000    |
| 4770 | shlink    | 192.168.3.130:39916 | shlink    | Sleep   | 7771  |          |                  | 0.000    |
| 4773 | shlink    | 192.168.3.130:39956 | shlink    | Sleep   | 7771  |          |                  | 0.000    |
+------+-----------+---------------------+-----------+---------+-------+----------+------------------+----------+
root@docker:~# docker ps -a | grep shlink
639ae7c09f0b   shlinkio/shlink:stable                   "/bin/sh ./docker-en…"   3 weeks ago     Up 2 days                            shlink
f57acb72b814   shlinkio/shlink-web-client:stable        "/docker-entrypoint.…"   7 weeks ago     Up 2 days                            shlinkweb


root@docker:~# docker image ls | grep shlink
shlinkio/shlink                   stable           6c4a0a636eaa   4 weeks ago     258MB
shlinkio/shlink-web-client        stable           84e2ba1aba13   8 weeks ago     54.4MB
@acelaya
Copy link
Member

acelaya commented Jan 26, 2025

Thanks! If it was introduced recently, it was definitely not intentional 😅

I'll take a look.

@acelaya acelaya added this to the 4.4.1 milestone Jan 26, 2025
@acelaya
Copy link
Member

acelaya commented Jan 26, 2025

I assume you have started to experience this with v4.4.0, but it worked as expected before?

@kub3let
Copy link
Author

kub3let commented Jan 26, 2025

I have been running Shlink for almost 2 years without any issues, but this problem seems very unusual to me and might be a side effect of something else.

Shlink was automatically upgraded to version 4.4.0 on 2024-12-30, so It was already running that version for 4 weeks.

The issue first occurred yesterday, and after checking again today, the problem still persists.

By the way, the logs are exposing sensitive information such as the database username, password, API keys, etc.

Restarting Shlink closes all connections and using it for a couple minutes there are no persistent connections open. So the problem seems to develop over time.

Looking at the db process list timestamps, many connections appear to open at the exact same second. Does Shlink perhaps use a worker queue, cron job, or timer that might trigger this behavior?

Since I limited Shlink to 25 connections, it is now constantly logging errors. Perhaps these logs provide more clues:

Logs <---- [SPOILER - Click to Open]
2025-01-26T11:12:16+0000        INFO    server          [2025-01-26T11:12:16.340351+00:00] [53ca341e-939f-45b2-b5f0-5a92ee405aa6] Access.INFO - GET /rest/v3/tags/stats 500 143
2025-01-26T11:12:16+0000        INFO    server          [2025-01-26T11:12:16.340091+00:00] [fd91291a-7593-45d9-9875-75e1b46bc366] Shlink.ERROR - PDOException: SQLSTATE[HY000] [1203] User shlink already has more than 'max_user_connections' active connections in /etc/shlink/vendor/doctrine/dbal/src/Driver/PDO/PDOConnect.php:26
Stack trace:
#0 /etc/shlink/vendor/doctrine/dbal/src/Driver/PDO/PDOConnect.php(26): PDO::connect('mysql:host=192....', 'shlink', Object(SensitiveParameterValue), Array)
#1 /etc/shlink/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php(45): Doctrine\DBAL\Driver\PDO\MySQL\Driver->doConnect('mysql:host=192....', 'shlink', 'secretpassword...', Array)
#2 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(217): Doctrine\DBAL\Driver\PDO\MySQL\Driver->connect(Object(SensitiveParameterValue))
#3 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(236): Doctrine\DBAL\Connection->connect()
#4 /etc/shlink/vendor/doctrine/dbal/src/Driver/AbstractMySQLDriver.php(38): Doctrine\DBAL\Connection->getServerVersion()
#5 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(191): Doctrine\DBAL\Driver\AbstractMySQLDriver->getDatabasePlatform(Object(Doctrine\DBAL\Connection))
#6 /etc/shlink/vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php(189): Doctrine\DBAL\Connection->getDatabasePlatform()
#7 /etc/shlink/vendor/doctrine/orm/src/UnitOfWork.php(2884): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->__construct(Object(Doctrine\ORM\EntityManager), Object(Doctrine\ORM\Mapping\ClassMetadata))
#8 /etc/shlink/vendor/doctrine/orm/src/EntityRepository.php(123): Doctrine\ORM\UnitOfWork->getEntityPersister('Shlinkio\\Shlink...')
#9 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(141): Doctrine\ORM\EntityRepository->findOneBy(Array)
#10 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(67): Shlinkio\Shlink\Rest\Service\ApiKeyService->findByKey('secretapikey...')
#11 /etc/shlink/module/Rest/src/Middleware/AuthenticationMiddleware.php(47): Shlinkio\Shlink\Rest\Service\ApiKeyService->check('secretapikey...')
#12 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\AuthenticationMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#13 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#14 /etc/shlink/module/Rest/src/Middleware/BodyParserMiddleware.php(34): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#15 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\BodyParserMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#16 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#17 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitOptionsMiddleware.php(75): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#18 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitOptionsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#19 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#20 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#21 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#22 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#23 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#24 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitHeadMiddleware.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#25 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitHeadMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#26 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#27 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/RouteMiddleware.php(50): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#28 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\RouteMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#29 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#30 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#31 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#32 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#33 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/CloseDbConnectionMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#34 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\CloseDbConnectionMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#36 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#37 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#38 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(122): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Laminas\Diactoros\ServerRequest))
#40 /etc/shlink/vendor/mezzio/mezzio-problem-details/src/ProblemDetailsMiddleware.php(46): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#41 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\ProblemDetails\ProblemDetailsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#43 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#44 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#45 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#46 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#47 /etc/shlink/module/Rest/src/Middleware/CrossDomainMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#48 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\CrossDomainMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#49 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#50 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/ErrorHandler.php(129): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#51 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Laminas\Stratigility\Middleware\ErrorHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#52 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#53 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/RequestIdMiddleware.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#54 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\RequestIdMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#55 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#56 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/ContentLengthMiddleware.php(16): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#57 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\ContentLengthMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#58 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#59 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/AccessLogMiddleware.php(26): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#60 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\AccessLogMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#61 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#62 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#63 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#64 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#65 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(66): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#66 /etc/shlink/vendor/mezzio/mezzio/src/Application.php(34): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#67 /etc/shlink/bin/roadrunner-worker.php(25): Mezzio\Application->handle(Object(Laminas\Diactoros\ServerRequest))
#68 /etc/shlink/bin/roadrunner-worker.php(36): {closure:/etc/shlink/bin/roadrunner-worker.php:13}()
#69 {main}

Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[HY000] [1203] User shlink already has more than 'max_user_connections' active connections in /etc/shlink/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:28
Stack trace:
#0 /etc/shlink/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php(52): Doctrine\DBAL\Driver\PDO\Exception::new(Object(PDOException))
#1 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(217): Doctrine\DBAL\Driver\PDO\MySQL\Driver->connect(Object(SensitiveParameterValue))
#2 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(236): Doctrine\DBAL\Connection->connect()
#3 /etc/shlink/vendor/doctrine/dbal/src/Driver/AbstractMySQLDriver.php(38): Doctrine\DBAL\Connection->getServerVersion()
#4 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(191): Doctrine\DBAL\Driver\AbstractMySQLDriver->getDatabasePlatform(Object(Doctrine\DBAL\Connection))
#5 /etc/shlink/vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php(189): Doctrine\DBAL\Connection->getDatabasePlatform()
#6 /etc/shlink/vendor/doctrine/orm/src/UnitOfWork.php(2884): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->__construct(Object(Doctrine\ORM\EntityManager), Object(Doctrine\ORM\Mapping\ClassMetadata))
#7 /etc/shlink/vendor/doctrine/orm/src/EntityRepository.php(123): Doctrine\ORM\UnitOfWork->getEntityPersister('Shlinkio\\Shlink...')
#8 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(141): Doctrine\ORM\EntityRepository->findOneBy(Array)
#9 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(67): Shlinkio\Shlink\Rest\Service\ApiKeyService->findByKey('secretapikey...')
#10 /etc/shlink/module/Rest/src/Middleware/AuthenticationMiddleware.php(47): Shlinkio\Shlink\Rest\Service\ApiKeyService->check('secretapikey...')
#11 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\AuthenticationMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#12 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#13 /etc/shlink/module/Rest/src/Middleware/BodyParserMiddleware.php(34): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#14 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\BodyParserMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#15 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#16 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitOptionsMiddleware.php(75): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#17 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitOptionsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#18 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#19 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#20 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#21 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#22 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#23 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitHeadMiddleware.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#24 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitHeadMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#25 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#26 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/RouteMiddleware.php(50): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#27 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\RouteMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#28 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#29 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#30 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#31 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#32 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/CloseDbConnectionMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#33 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\CloseDbConnectionMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#34 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#36 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#37 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(122): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#38 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /etc/shlink/vendor/mezzio/mezzio-problem-details/src/ProblemDetailsMiddleware.php(46): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#40 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\ProblemDetails\ProblemDetailsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#41 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#43 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#44 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#45 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#46 /etc/shlink/module/Rest/src/Middleware/CrossDomainMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#47 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\CrossDomainMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#48 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#49 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/ErrorHandler.php(129): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#50 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Laminas\Stratigility\Middleware\ErrorHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#51 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#52 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/RequestIdMiddleware.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#53 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\RequestIdMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#54 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#55 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/ContentLengthMiddleware.php(16): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#56 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\ContentLengthMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#57 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#58 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/AccessLogMiddleware.php(26): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#59 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\AccessLogMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#60 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#61 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#62 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#63 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#64 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(66): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#65 /etc/shlink/vendor/mezzio/mezzio/src/Application.php(34): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#66 /etc/shlink/bin/roadrunner-worker.php(25): Mezzio\Application->handle(Object(Laminas\Diactoros\ServerRequest))
#67 /etc/shlink/bin/roadrunner-worker.php(36): {closure:/etc/shlink/bin/roadrunner-worker.php:13}()
#68 {main}

Next Doctrine\DBAL\Exception\DriverException: An exception occurred in the driver: SQLSTATE[HY000] [1203] User shlink already has more than 'max_user_connections' active connections in /etc/shlink/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:91
Stack trace:
#0 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(1373): Doctrine\DBAL\Driver\API\MySQL\ExceptionConverter->convert(Object(Doctrine\DBAL\Driver\PDO\Exception), NULL)
#1 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(1321): Doctrine\DBAL\Connection->handleDriverException(Object(Doctrine\DBAL\Driver\PDO\Exception), NULL)
#2 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(219): Doctrine\DBAL\Connection->convertException(Object(Doctrine\DBAL\Driver\PDO\Exception))
#3 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(236): Doctrine\DBAL\Connection->connect()
#4 /etc/shlink/vendor/doctrine/dbal/src/Driver/AbstractMySQLDriver.php(38): Doctrine\DBAL\Connection->getServerVersion()
#5 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(191): Doctrine\DBAL\Driver\AbstractMySQLDriver->getDatabasePlatform(Object(Doctrine\DBAL\Connection))
#6 /etc/shlink/vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php(189): Doctrine\DBAL\Connection->getDatabasePlatform()
#7 /etc/shlink/vendor/doctrine/orm/src/UnitOfWork.php(2884): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->__construct(Object(Doctrine\ORM\EntityManager), Object(Doctrine\ORM\Mapping\ClassMetadata))
#8 /etc/shlink/vendor/doctrine/orm/src/EntityRepository.php(123): Doctrine\ORM\UnitOfWork->getEntityPersister('Shlinkio\\Shlink...')
#9 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(141): Doctrine\ORM\EntityRepository->findOneBy(Array)
#10 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(67): Shlinkio\Shlink\Rest\Service\ApiKeyService->findByKey('secretapikey...')
#11 /etc/shlink/module/Rest/src/Middleware/AuthenticationMiddleware.php(47): Shlinkio\Shlink\Rest\Service\ApiKeyService->check('secretapikey...')
#12 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\AuthenticationMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#13 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#14 /etc/shlink/module/Rest/src/Middleware/BodyParserMiddleware.php(34): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#15 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\BodyParserMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#16 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#17 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitOptionsMiddleware.php(75): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#18 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitOptionsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#19 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#20 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#21 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#22 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#23 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#24 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitHeadMiddleware.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#25 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitHeadMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#26 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#27 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/RouteMiddleware.php(50): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#28 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\RouteMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#29 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#30 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#31 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#32 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#33 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/CloseDbConnectionMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#34 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\CloseDbConnectionMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#36 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#37 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#38 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(122): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Laminas\Diactoros\ServerRequest))
#40 /etc/shlink/vendor/mezzio/mezzio-problem-details/src/ProblemDetailsMiddleware.php(46): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#41 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\ProblemDetails\ProblemDetailsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#43 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#44 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#45 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#46 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#47 /etc/shlink/module/Rest/src/Middleware/CrossDomainMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#48 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\CrossDomainMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#49 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#50 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/ErrorHandler.php(129): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#51 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Laminas\Stratigility\Middleware\ErrorHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#52 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#53 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/RequestIdMiddleware.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#54 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\RequestIdMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#55 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#56 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/ContentLengthMiddleware.php(16): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#57 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\ContentLengthMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#58 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#59 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/AccessLogMiddleware.php(26): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#60 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\AccessLogMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#61 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#62 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#63 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#64 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#65 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(66): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#66 /etc/shlink/vendor/mezzio/mezzio/src/Application.php(34): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#67 /etc/shlink/bin/roadrunner-worker.php(25): Mezzio\Application->handle(Object(Laminas\Diactoros\ServerRequest))
#68 /etc/shlink/bin/roadrunner-worker.php(36): {closure:/etc/shlink/bin/roadrunner-worker.php:13}()
#69 {main}
[2025-01-26T11:12:16.340349+00:00] [fd91291a-7593-45d9-9875-75e1b46bc366] Access.INFO - GET /rest/v3/domains 500 143
2025-01-26T11:12:16+0000        INFO    server          [2025-01-26T11:12:16.340475+00:00] [c2efcbae-8c4e-42e2-ac1e-3fc226b5198c] Shlink.ERROR - PDOException: SQLSTATE[HY000] [1203] User shlink already has more than 'max_user_connections' active connections in /etc/shlink/vendor/doctrine/dbal/src/Driver/PDO/PDOConnect.php:26
Stack trace:
#0 /etc/shlink/vendor/doctrine/dbal/src/Driver/PDO/PDOConnect.php(26): PDO::connect('mysql:host=192....', 'shlink', Object(SensitiveParameterValue), Array)
#1 /etc/shlink/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php(45): Doctrine\DBAL\Driver\PDO\MySQL\Driver->doConnect('mysql:host=192....', 'shlink', 'secretpassword...', Array)
#2 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(217): Doctrine\DBAL\Driver\PDO\MySQL\Driver->connect(Object(SensitiveParameterValue))
#3 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(236): Doctrine\DBAL\Connection->connect()
#4 /etc/shlink/vendor/doctrine/dbal/src/Driver/AbstractMySQLDriver.php(38): Doctrine\DBAL\Connection->getServerVersion()
#5 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(191): Doctrine\DBAL\Driver\AbstractMySQLDriver->getDatabasePlatform(Object(Doctrine\DBAL\Connection))
#6 /etc/shlink/vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php(189): Doctrine\DBAL\Connection->getDatabasePlatform()
#7 /etc/shlink/vendor/doctrine/orm/src/UnitOfWork.php(2884): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->__construct(Object(Doctrine\ORM\EntityManager), Object(Doctrine\ORM\Mapping\ClassMetadata))
#8 /etc/shlink/vendor/doctrine/orm/src/EntityRepository.php(123): Doctrine\ORM\UnitOfWork->getEntityPersister('Shlinkio\\Shlink...')
#9 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(141): Doctrine\ORM\EntityRepository->findOneBy(Array)
#10 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(67): Shlinkio\Shlink\Rest\Service\ApiKeyService->findByKey('secretapikey...')
#11 /etc/shlink/module/Rest/src/Middleware/AuthenticationMiddleware.php(47): Shlinkio\Shlink\Rest\Service\ApiKeyService->check('secretapikey...')
#12 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\AuthenticationMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#13 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#14 /etc/shlink/module/Rest/src/Middleware/BodyParserMiddleware.php(34): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#15 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\BodyParserMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#16 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#17 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitOptionsMiddleware.php(75): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#18 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitOptionsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#19 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#20 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#21 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#22 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#23 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#24 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitHeadMiddleware.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#25 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitHeadMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#26 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#27 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/RouteMiddleware.php(50): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#28 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\RouteMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#29 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#30 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#31 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#32 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#33 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/CloseDbConnectionMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#34 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\CloseDbConnectionMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#36 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#37 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#38 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(122): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Laminas\Diactoros\ServerRequest))
#40 /etc/shlink/vendor/mezzio/mezzio-problem-details/src/ProblemDetailsMiddleware.php(46): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#41 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\ProblemDetails\ProblemDetailsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#43 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#44 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#45 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#46 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#47 /etc/shlink/module/Rest/src/Middleware/CrossDomainMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#48 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\CrossDomainMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#49 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#50 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/ErrorHandler.php(129): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#51 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Laminas\Stratigility\Middleware\ErrorHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#52 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#53 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/RequestIdMiddleware.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#54 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\RequestIdMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#55 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#56 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/ContentLengthMiddleware.php(16): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#57 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\ContentLengthMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#58 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#59 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/AccessLogMiddleware.php(26): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#60 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\AccessLogMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#61 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#62 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#63 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#64 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#65 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(66): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#66 /etc/shlink/vendor/mezzio/mezzio/src/Application.php(34): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#67 /etc/shlink/bin/roadrunner-worker.php(25): Mezzio\Application->handle(Object(Laminas\Diactoros\ServerRequest))
#68 /etc/shlink/bin/roadrunner-worker.php(36): {closure:/etc/shlink/bin/roadrunner-worker.php:13}()
#69 {main}

Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[HY000] [1203] User shlink already has more than 'max_user_connections' active connections in /etc/shlink/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:28
Stack trace:
#0 /etc/shlink/vendor/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php(52): Doctrine\DBAL\Driver\PDO\Exception::new(Object(PDOException))
#1 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(217): Doctrine\DBAL\Driver\PDO\MySQL\Driver->connect(Object(SensitiveParameterValue))
#2 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(236): Doctrine\DBAL\Connection->connect()
#3 /etc/shlink/vendor/doctrine/dbal/src/Driver/AbstractMySQLDriver.php(38): Doctrine\DBAL\Connection->getServerVersion()
#4 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(191): Doctrine\DBAL\Driver\AbstractMySQLDriver->getDatabasePlatform(Object(Doctrine\DBAL\Connection))
#5 /etc/shlink/vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php(189): Doctrine\DBAL\Connection->getDatabasePlatform()
#6 /etc/shlink/vendor/doctrine/orm/src/UnitOfWork.php(2884): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->__construct(Object(Doctrine\ORM\EntityManager), Object(Doctrine\ORM\Mapping\ClassMetadata))
#7 /etc/shlink/vendor/doctrine/orm/src/EntityRepository.php(123): Doctrine\ORM\UnitOfWork->getEntityPersister('Shlinkio\\Shlink...')
#8 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(141): Doctrine\ORM\EntityRepository->findOneBy(Array)
#9 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(67): Shlinkio\Shlink\Rest\Service\ApiKeyService->findByKey('secretapikey...')
#10 /etc/shlink/module/Rest/src/Middleware/AuthenticationMiddleware.php(47): Shlinkio\Shlink\Rest\Service\ApiKeyService->check('secretapikey...')
#11 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\AuthenticationMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#12 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#13 /etc/shlink/module/Rest/src/Middleware/BodyParserMiddleware.php(34): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#14 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\BodyParserMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#15 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#16 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitOptionsMiddleware.php(75): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#17 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitOptionsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#18 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#19 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#20 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#21 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#22 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#23 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitHeadMiddleware.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#24 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitHeadMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#25 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#26 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/RouteMiddleware.php(50): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#27 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\RouteMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#28 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#29 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#30 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#31 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#32 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/CloseDbConnectionMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#33 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\CloseDbConnectionMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#34 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#36 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#37 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(122): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#38 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /etc/shlink/vendor/mezzio/mezzio-problem-details/src/ProblemDetailsMiddleware.php(46): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#40 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\ProblemDetails\ProblemDetailsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#41 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#43 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#44 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#45 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#46 /etc/shlink/module/Rest/src/Middleware/CrossDomainMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#47 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\CrossDomainMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#48 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#49 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/ErrorHandler.php(129): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#50 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Laminas\Stratigility\Middleware\ErrorHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#51 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#52 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/RequestIdMiddleware.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#53 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\RequestIdMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#54 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#55 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/ContentLengthMiddleware.php(16): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#56 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\ContentLengthMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#57 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#58 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/AccessLogMiddleware.php(26): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#59 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\AccessLogMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#60 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#61 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#62 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#63 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#64 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(66): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#65 /etc/shlink/vendor/mezzio/mezzio/src/Application.php(34): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#66 /etc/shlink/bin/roadrunner-worker.php(25): Mezzio\Application->handle(Object(Laminas\Diactoros\ServerRequest))
#67 /etc/shlink/bin/roadrunner-worker.php(36): {closure:/etc/shlink/bin/roadrunner-worker.php:13}()
#68 {main}

Next Doctrine\DBAL\Exception\DriverException: An exception occurred in the driver: SQLSTATE[HY000] [1203] User shlink already has more than 'max_user_connections' active connections in /etc/shlink/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:91
Stack trace:
#0 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(1373): Doctrine\DBAL\Driver\API\MySQL\ExceptionConverter->convert(Object(Doctrine\DBAL\Driver\PDO\Exception), NULL)
#1 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(1321): Doctrine\DBAL\Connection->handleDriverException(Object(Doctrine\DBAL\Driver\PDO\Exception), NULL)
#2 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(219): Doctrine\DBAL\Connection->convertException(Object(Doctrine\DBAL\Driver\PDO\Exception))
#3 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(236): Doctrine\DBAL\Connection->connect()
#4 /etc/shlink/vendor/doctrine/dbal/src/Driver/AbstractMySQLDriver.php(38): Doctrine\DBAL\Connection->getServerVersion()
#5 /etc/shlink/vendor/doctrine/dbal/src/Connection.php(191): Doctrine\DBAL\Driver\AbstractMySQLDriver->getDatabasePlatform(Object(Doctrine\DBAL\Connection))
#6 /etc/shlink/vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php(189): Doctrine\DBAL\Connection->getDatabasePlatform()
#7 /etc/shlink/vendor/doctrine/orm/src/UnitOfWork.php(2884): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->__construct(Object(Doctrine\ORM\EntityManager), Object(Doctrine\ORM\Mapping\ClassMetadata))
#8 /etc/shlink/vendor/doctrine/orm/src/EntityRepository.php(123): Doctrine\ORM\UnitOfWork->getEntityPersister('Shlinkio\\Shlink...')
#9 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(141): Doctrine\ORM\EntityRepository->findOneBy(Array)
#10 /etc/shlink/module/Rest/src/Service/ApiKeyService.php(67): Shlinkio\Shlink\Rest\Service\ApiKeyService->findByKey('secretapikey...')
#11 /etc/shlink/module/Rest/src/Middleware/AuthenticationMiddleware.php(47): Shlinkio\Shlink\Rest\Service\ApiKeyService->check('secretapikey...')
#12 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\AuthenticationMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#13 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#14 /etc/shlink/module/Rest/src/Middleware/BodyParserMiddleware.php(34): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#15 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\BodyParserMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#16 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#17 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitOptionsMiddleware.php(75): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#18 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitOptionsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#19 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#20 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#21 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#22 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#23 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#24 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/ImplicitHeadMiddleware.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#25 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\ImplicitHeadMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#26 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#27 /etc/shlink/vendor/mezzio/mezzio-router/src/Middleware/RouteMiddleware.php(50): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#28 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\Router\Middleware\RouteMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#29 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#30 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#31 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#32 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#33 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/CloseDbConnectionMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#34 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\CloseDbConnectionMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#36 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#37 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#38 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(122): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Laminas\Diactoros\ServerRequest))
#40 /etc/shlink/vendor/mezzio/mezzio-problem-details/src/ProblemDetailsMiddleware.php(46): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#41 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Mezzio\ProblemDetails\ProblemDetailsMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#43 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#44 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/PathMiddlewareDecorator.php(60): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#45 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\Middleware\PathMiddlewareDecorator->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#46 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(45): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#47 /etc/shlink/module/Rest/src/Middleware/CrossDomainMiddleware.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#48 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Rest\Middleware\CrossDomainMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#49 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#50 /etc/shlink/vendor/laminas/laminas-stratigility/src/Middleware/ErrorHandler.php(129): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#51 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Laminas\Stratigility\Middleware\ErrorHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#52 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#53 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/RequestIdMiddleware.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#54 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\RequestIdMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#55 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#56 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/ContentLengthMiddleware.php(16): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#57 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\ContentLengthMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#58 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#59 /etc/shlink/vendor/shlinkio/shlink-common/src/Middleware/AccessLogMiddleware.php(26): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#60 /etc/shlink/vendor/mezzio/mezzio/src/Middleware/LazyLoadingMiddleware.php(26): Shlinkio\Shlink\Common\Middleware\AccessLogMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#61 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Mezzio\Middleware\LazyLoadingMiddleware->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#62 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#63 /etc/shlink/vendor/laminas/laminas-stratigility/src/Next.php(52): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#64 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(77): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#65 /etc/shlink/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(66): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#66 /etc/shlink/vendor/mezzio/mezzio/src/Application.php(34): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#67 /etc/shlink/bin/roadrunner-worker.php(25): Mezzio\Application->handle(Object(Laminas\Diactoros\ServerRequest))
#68 /etc/shlink/bin/roadrunner-worker.php(36): {closure:/etc/shlink/bin/roadrunner-worker.php:13}()
#69 {main}

@acelaya
Copy link
Member

acelaya commented Jan 27, 2025

Ok, I think I know what's very likely the root cause.

Shlink does in fact run background asynchronous jobs, and it has a mechanism to close the connections opened there to avoid issues like this one.

This logic is set on a per job basis, so we don't run logic designed to open/close database connections for jobs which do not interact with the database at all.

The problem is that Shlink 4.4.0 changed the logic in a job that didn't use to interact with the database, but now does, and I forgot to enable the open/close connection logic for it.

Fixing it should be easy.

@acelaya
Copy link
Member

acelaya commented Jan 28, 2025

I have just released Shlink 4.4.1, which includes a fix for this. The docker image will be available in ~20 minutes, once it finishes building.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants