文档章节

Lock wait timeout exceeded; try restarting......

凯文加内特
 凯文加内特
发布于 2016/06/13 14:48
字数 347
阅读 311
收藏 0

mysql异常java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction:

场景:

1.开启事务,更新本地数据库;

2.调用银行接口;

3.等待银行接口返回结果,银行返回成功,则提交事务;银行返回失败,则回滚更新本地数据库事务

异常原因分析:调用银行接口等待时间过长,超过innodb_lock_wait_timeout阀值时,mysql的配置参数innodb_lock_wait_timeout阀值指的是事务等待获取资源等待的最长时间,超过这个时间还未分配到资源则会返回应用失败;当等待超过阀值时的情况,当锁等待超过设置时间的时候,就会报如下的错误;

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

解决办法:

使用如下命令查看等待时间:

show  global  variables like  '%wait%';

查看innodb_lock_wait_timeout的值,如果过小,可以修改,增大其值,命令如下(设置等待时间50秒):

set innodb_lock_wait_timeout=50;

set global innodb_lock_wait_timeout=50;

总结:整个流程设计存在缺陷,很容易产生掉单,个人建议拆分业务,先调用银行接口,银行反馈信息直接告知用户,如果支付失败,提示用户重新支付;如果支付成功后,出现更新数据库操作按钮供用户操作。

参考:http://blog.itpub.net/12679300/viewspace-1418320/

© 著作权归作者所有

共有 人打赏支持
凯文加内特
粉丝 337
博文 674
码字总数 98608
作品 0
青岛
后端工程师
私信 提问
浅析 innodb next-key lock

record lock:记录锁,也就是仅仅锁着单独的一行 gap lock:区间锁,仅仅锁住一个区间(注意这里的区间都是开区间,也就是不包括边界值,至于为什么这么定义?innodb官方定义的) next-key l...

长平狐
2012/11/01
894
0
MySQL 执行一个很长的 SQL 语句报错 —— Lock wait timeout exceeded

执行一个对数据的操作语句,需要时间很长,可能一个小时。执行报错如下: ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction 该怎么调整 MySQL 配置呢?...

华宰
2015/12/05
674
1
MYSQL锁等待,死锁

MYSQL一直很稳定,但是突然连接数超出最大连接数,Tomcat报 "Lock wait timeout exceeded; try restarting transaction",把tomcat重启可以恢复正常!! 能分析下这是怎么回事吗?...

OSC李强
2013/05/24
1K
7
python2.7报错Lock wait timeout exceeded; try restarting transaction')

conn.execute(sql) File "build/bdist.linux-x86_64/egg/MySQLdb/cursors.py", line 174, in execute File "build/bdist.linux-x86_64/egg/MySQLdb/connections.py", line 36, in defaulterr......

知行合一1
2017/05/26
107
0
python爆这个错误,怎么解决??

conn.execute(sql) File "build/bdist.linux-x86_64/egg/MySQLdb/cursors.py", line 174, in execute File "build/bdist.linux-x86_64/egg/MySQLdb/connections.py", line 36, in defaulterr......

知行合一1
2017/05/26
33
0

没有更多内容

加载失败,请刷新页面

加载更多

结合Spring和Groovy解决脚本热加载

前言 去年写过一篇文件介绍了采用jpython解决动态配置热加载的问题jpython解决热加载,今年在实现规则引擎过程中准备进行升级,采用groovy脚本解决。 方案 将一些规则相关,如统计,排序,过...

春哥大魔王的博客
3分钟前
0
0
以太坊应用开发接口:JSON RPC API

以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程...

汇智网教程
6分钟前
0
0
排序--二分插入排序

二分插入排序是对直接插入排序的一个优化,在排序--直接插入排序中已经分析过直接插入排序的最坏时间复杂度是平方级别的,二分插入排序则是通过二分查找对寻找插入位置进行了优化,在找到插入...

FAT_mt
17分钟前
1
0
Quora点赞过万!麻省理工5.0GPA十条学习技巧

美国版知乎Quora上有个问题是:顶尖学生如何学习。排名第一的答案已经赢得13.5K次点赞,我们翻译出来分享给大家。 MIT normally does not rank its students. So if you hear that someone g...

乔老哥
30分钟前
1
0
IOC的学习(1)

1.IOC理论概要 java中,一个对象A怎么才能调用对象B? 当一个对象的构建,需要多个其他对象时,对象和对象有复杂的构建关系。spring帮助我们维系对象的依赖关系,降低系统的实现成本,前提是...

杨健-YJ
42分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部