Pterodactyl® is a free, open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.
When creating a schedule with a backup task, when the backup limit is reached, the panel will still try to peform the InitiateBackupService, which will result in a TooManyBackupsException. Which causes the complete panel error logs to be spammed with Too Many Backups Exceptions when this happens frequently and with a lot of servers:
#35 {main}, 2023-03-01 00:02:05)) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'uuid' in 'field list' (SQL: insert into `failed_jobs` (`uuid`, `connection`, `queue`, `payload`, `exception`, `failed_at`) values (8a75dd2a-f62f-45a2-9497-8bc56b435dfe, redis, standard, {\"uuid\":\"8a75dd2a-f62f-45a2-9497-8bc56b435dfe\",\"timeout\":null,\"id\":\"4ZLELqo0InOvN11Ujd9Hw9dwn6580XQL\",\"backoff\":null,\"displayName\":\"Pterodactyl\\\\Jobs\\\\Schedule\\\\RunTaskJob\",\"maxTries\":null,\"failOnTimeout\":false,\"maxExceptions\":null,\"retryUntil\":null,\"job\":\"Illuminate\\\\Queue\\\\CallQueuedHandler@call\",\"data\":{\"command\":\"O:36:\\\"Pterodactyl\\\\Jobs\\\\Schedule\\\\RunTaskJob\\\":4:{s:4:\\\"task\\\";O:45:\\\"Illuminate\\\\Contracts\\\\Database\\\\ModelIdentifier\\\":5:{s:5:\\\"class\\\";s:23:\\\"Pterodactyl\\\\Models\\\\Task\\\";s:2:\\\"id\\\";i:510;s:9:\\\"relations\\\";a:2:{i:0;s:8:\\\"schedule\\\";i:1;s:14:\\\"schedule.tasks\\\";}s:10:\\\"connection\\\";s:5:\\\"mysql\\\";s:15:\\\"collectionClass\\\";N;}s:9:\\\"manualRun\\\";b:0;s:5:\\\"queue\\\";s:8:\\\"standard\\\";s:5:\\\"delay\\\";i:0;}\",\"commandName\":\"Pterodactyl\\\\Jobs\\\\Schedule\\\\RunTaskJob\"},\"attempts\":2}, Pterodactyl\\Exceptions\\Service\\Backup\\TooManyBackupsException: Cannot create a new backup, this server has reached its limit of 3 backups. in app/Services/Backups/InitiateBackupService.php:95
Expected Behavior
To not be logging an exception when the backup limit has been reached when creating scheduled backups.
Steps to Reproduce
Create a schedule with a backup task
Panel Version
1.11.3
Wings Version
any
Games and/or Eggs Affected
No response
Docker Image
No response
Error Logs
#35 {main}, 2023-03-01 00:02:05)) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'uuid' in 'field list' (SQL: insert into `failed_jobs` (`uuid`, `connection`, `queue`, `payload`, `exception`, `failed_at`) values (8a75dd2a-f62f-45a2-9497-8bc56b435dfe, redis, standard, {\"uuid\":\"8a75dd2a-f62f-45a2-9497-8bc56b435dfe\",\"timeout\":null,\"id\":\"4ZLELqo0InOvN11Ujd9Hw9dwn6580XQL\",\"backoff\":null,\"displayName\":\"Pterodactyl\\\\Jobs\\\\Schedule\\\\RunTaskJob\",\"maxTries\":null,\"failOnTimeout\":false,\"maxExceptions\":null,\"retryUntil\":null,\"job\":\"Illuminate\\\\Queue\\\\CallQueuedHandler@call\",\"data\":{\"command\":\"O:36:\\\"Pterodactyl\\\\Jobs\\\\Schedule\\\\RunTaskJob\\\":4:{s:4:\\\"task\\\";O:45:\\\"Illuminate\\\\Contracts\\\\Database\\\\ModelIdentifier\\\":5:{s:5:\\\"class\\\";s:23:\\\"Pterodactyl\\\\Models\\\\Task\\\";s:2:\\\"id\\\";i:510;s:9:\\\"relations\\\";a:2:{i:0;s:8:\\\"schedule\\\";i:1;s:14:\\\"schedule.tasks\\\";}s:10:\\\"connection\\\";s:5:\\\"mysql\\\";s:15:\\\"collectionClass\\\";N;}s:9:\\\"manualRun\\\";b:0;s:5:\\\"queue\\\";s:8:\\\"standard\\\";s:5:\\\"delay\\\";i:0;}\",\"commandName\":\"Pterodactyl\\\\Jobs\\\\Schedule\\\\RunTaskJob\"},\"attempts\":2}, Pterodactyl\\Exceptions\\Service\\Backup\\TooManyBackupsException: Cannot create a new backup, this server has reached its limit of 3 backups. in app/Services/Backups/InitiateBackupService.php:95
Is there an existing issue for this?
[X] I have searched the existing issues before opening this issue.
[X] I have provided all relevant details, including the specific game and Docker images I am using if this issue is related to running a server.
[X] I have checked in the Discord server and believe this is a bug with the software, and not a configuration issue with my specific system.
Also, please upload your logs to pteropaste.com so they are easier to read. (e.g. tail -n 150 /var/www/pterodactyl/storage/logs/laravel-$(date +%F).log | nc pteropaste.com 99)
Current Behavior
When creating a schedule with a backup task, when the backup limit is reached, the panel will still try to peform the InitiateBackupService, which will result in a
TooManyBackupsException
. Which causes the complete panel error logs to be spammed with Too Many Backups Exceptions when this happens frequently and with a lot of servers:Expected Behavior
To not be logging an exception when the backup limit has been reached when creating scheduled backups.
Steps to Reproduce
Create a schedule with a backup task
Panel Version
1.11.3
Wings Version
any
Games and/or Eggs Affected
No response
Docker Image
No response
Error Logs
Is there an existing issue for this?