У меня довольно неловкая проблема.
В диалоговой системе, когда пользователь отправляет сообщение, отправляется запрос AJAX, а затем создается транзакция PDO для выполнения нескольких операций INSERT и UPDATE.
Для проверки я спамил рассылку сообщений, в результате чего несколько AJAX-запросов отправлялись параллельно. Из десяти сообщений, отправленных «одновременно», несколько транзакций будут содержать ошибку, обработчик ошибок Laravel отправит мне «Нет активной транзакции».
Это проблема конфигурации PDO? Я ставлю DB :: beginTransaction над попыткой catch. Очевидно, ошибка в DB :: commit, который обнаруживает, когда больше нет транзакции в процессе.
Это тот факт, что именно моя «пользовательская сессия» отправляет запросы AJAX, которые отменяют транзакцию PDO по другому запросу, чем текущий?
Я использую Laravel 5.8.19 и CockroachDB 19.1.1.1.
Спасибо за помощь.