com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try rest
**背景:现场同事电话反馈,核酸数据上报任务异常了,好几台服务器都显示报错。问题:报错主要原因是事务回滚了com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException:Lock wait timeout exceeded; try restarting transaction排查//当前运行的所有事务SELECT * FROM inf
·
**
背景:
现场同事电话反馈,核酸数据上报任务异常了,好几台服务器都显示报错。
问题:
报错主要原因是事务回滚了
com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException:
Lock wait timeout exceeded; try restarting transaction
排查
//当前运行的所有事务
SELECT * FROM information_schema.INNODB_TRX;
//当前出现的锁
SELECT * FROM information_schema.INNODB_LOCKs;
//锁等待的对应关系
SELECT * FROM information_schema.INNODB_LOCK_waits;
该事务被卡了10几个小时
查看全部线程
show processlist;
发现这个线程一直卡在这里,于是去看了下这条sql语句,去查询了一下该表。
发现这个表数据量暴涨,7.1G,导致查询不动。这个表的增删改又比较频繁,所以就卡死了。
原因:定时删除的任务异常了,平时只保留7天的数据量。
解决:kill事务,清理表数据,转移到历史表,检查定时任务
更多推荐
已为社区贡献3条内容
所有评论(0)