Ошибка «Doctrine\DBAL\Exception\DriverException» при обновлении корзин

Автор mistral, 06 октября 2026, 20:53:53

« назад - далее »

mistral

Приветствую всех! Столкнулся с труднодиагностируемой проблемой на своем сайте (PHP 8.1.30, MariaDB 10.11, PrestaShop 8.1.6).

Периодически у клиентов при добавлении товара в корзину или при обновлении количества на этапе оформления заказа вылетает ошибка 500. В логах сервера это фиксируется как:
«Critical error: Doctrine\DBAL\Exception\DriverException: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction».

Что интересно, корзина создается через нативный класс Cart::updateQty(). На сервере включен Redis для кэширования. База данных оптимизирована, тяжелых кастомных модулей на хуке actionCartSave нет.

Подскажите, может ли это быть связано с блокировками таблиц ps_cart_product при высокой сессионной нагрузке? Как правильно локализовать и устранить этот Lock wait timeout в контексте архитектуры Doctrine в PrestaShop 8? Буду благодарен за готовые рекомендации по настройке MariaDB или оверрайдам.