Проблема такая:
Две конкурентные транзакции делают 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.”