Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 16, 2009 16:57:13

vigorouz
От:
Зарегистрирован: 2008-05-19
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb. Потерялся exception.

Проблема такая:
Две конкурентные транзакции делают SELECT… FOR UPDATE, первая получает данные, вторая ждёт освобождения innodb_lock_wait_timeout секунд (50 default) и… просто выдаёт пустой результат, как будто в таблице ничего и нет, хотя по логике должна выбросить исключение.
Пример кода на http://showmecode.com/code/597/

Ктонить встречался с подобным? Как лечить? Или может у кого есть идеи как покрасивее обойти этот момент…

select version(); 5.0.45-log
python 2.4, 2.5
MySQLdb 1.2.2, 1.2.3c

Попробовал написать на php подобный кусок кода, он выдал ожидаемое “Lock wait timeout exceeded; try restarting transaction.”



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version