Lock wait timeout exceeded; try restarting transaction
2016-08-05 09:21:52 [com.zhishi.common.controller.BaseController]-[ERROR]
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
### The error may involve com.zhishi.dal.mapper.order.BizOrderMapper.updateByExampleSelective-Inline
### The error occurred while setting parameters
### SQL: update tb_biz_order SET tid = ?, orderNO = ?, product_id = ?, product_code = ?, product_name = ?, loan_amount = ?, loan_limit = ?, sum_amount = ?, downpayment_cost = ?, service_cost = ?, gps_cost = ?, mortgage_cost = ?, deposit_cost = ?, visits_cost = ?, total_cost = ?, distributor_rebate = ?, bank_finance = ?, apply_no = ?, apply_uid = ?, apply_name = ?, apply_role_id = ?, mortgage_corp_id = ?, branch_corp_id = ?, be_branch_corp = ?, teamleader_id = ?, be_teamleader = ?, team_id = ?, be_team = ?, visit_order = ?, order_state = ?, loan_state = ?, final_amount = ?, final_limit = ?, create_date = ?, update_by = ?, update_date = ?, version = ?, state = ? WHERE ( tid = ? )
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
; SQL []; Lock wait timeout exceeded; try restarting transaction; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
数据锁导致业务功能无法正常执行。
解决方案:
找到对应的锁Thead id ,然后kill掉,再去执行正常的代码逻辑。
SELECT * FROM information_schema.innodb_trx
KILL 11305;
导致锁的原因可以是代码逻辑有漏洞,同时也适当调试下my.ini的文件配置大小。
【微信公众号里搜索usgrouping】
扫一扫关注公众号,获取软件开发项目实战资讯,避开开发路上的哪些坑,快速进阶成长。
成长的乐趣,在于分享!
|