MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
笔者报错原因:
一次服务调用开启了两个事务
事务1先对表记录A上X锁,开始事务2,等待返回。
事务2要对记录A上S锁,等待,超时回滚报错。
#mysql查看事务,锁等待关系的sql
select * from information_schema.innodb_trx;
select * from information_schema.innodb_lock_waits;
select * from information_schema.innodb_locks;
在一次服务调用中,由于开启的两个事务导致锁冲突。事务1持有表A的X锁,而事务2尝试获取S锁并超时,从而触发了MySQLTransactionRollbackException。通过查询information_schema.innodb_trx,innodb_lock_waits和innodb_locks来分析和解决锁等待问题。
2万+

被折叠的 条评论
为什么被折叠?



