zoukankan      html  css  js  c++  java
  • 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】

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

     
    成长的乐趣,在于分享!
    大龄程序员,一路走来,感慨颇多。闲暇时写写字,希望能给同行人一点帮助。
    本文版权归作者growithus和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    mysql5.7.22安装步骤
    idea 配置http代理
    大话设计模式之类与类之间的关系读后感
    大话设计模式之工厂方法模式读后感
    rabbitmq+java入门(五)Topic
    rabbitmq+java入门(四)routing
    rabbitmq+java入门(二) 工作队列
    rabbitmq+java入门(三)exchange的使用
    rabbitmq+java入门(一)hello world
    idea+jrebel+springboot热部署
  • 原文地址:https://www.cnblogs.com/growithus/p/11012242.html
Copyright © 2011-2022 走看看