Doctrine NestedSet провоцирует превышение времени ожидания блокировки? - PullRequest
0 голосов
/ 10 августа 2011

Я некоторое время без проблем использую поведение Doctrine NestedSet, но сегодня я сталкиваюсь с новой проблемой при использовании createRoot () или других методов поведения после save ();Выполнение чего-то вроде:

$myObject()->save(); 
$myTree = Doctrine::getTable('myClass')->getTree(); 
$myTree->createRoot($myObject); 

дает мне это исключение:

Doctrine_Connection_Mysql_Exception 
SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction

Я не уверен, что это ошибка Doctrine, но что-то происходит из моей базы данных (MySQL), потому что код Doctrine не имеет 'изменить на моем сервере.Похоже, что операция save () блокирует таблицу, и запрос на обновление из createRoot не выполняется.Обратите внимание, что соответствующая таблица довольно мала (25 строк), и в последнее время все работало хорошо ... Есть предложения?

1 Ответ

0 голосов
/ 10 августа 2011

Нет, но я нашел это. Ошибка была вызвана небольшой модификацией моего кода, которая по-разному действовала в среде dev и prod. Этот фрагмент кода связан с Doctrine_Query, который я переопределяю для обработки соединений master / slave. Некоторая сторона глупого эффекта, очень сложная для отладки.

Спасибо за помощь.

...