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】

扫一扫关注公众号,获取软件开发项目实战资讯,避开开发路上的哪些坑,快速进阶成长。

 
posted @ 2016-08-05 11:03  maventalker  阅读(178)  评论(0编辑  收藏  举报