起因

@transaction.atomic
def post():
    try:
        s1 = transaction.savepoint()
        raise
    except Exception:
        transaction.savepoint_rollback(s1)

现象

  • 数据库死锁

猜测是因为 debug 调试时 没有走到下面的 transaction.savepoint_rollback(s1) 导致锁未释放?

查看数据库锁情况

select * from information_schema.innodb_trx;

干掉 trx_mysql_thread_id

kill trx_mysql_thread_id;
End
文章作者:
文章地址:http://honglvliyu.cn/index.php/archives/46/
文章标题:Lock wait timeout exceeded; try restarting transaction
文章版权:本文由Beyond the game独立整理撰写,转载请保留文章出处。
Last modification:April 18th, 2022 at 10:53 pm
咋滴 看了不给钱呀
广而告知