文档章节

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

凯文加内特
 凯文加内特
发布于 2016/06/13 14:48
字数 347
阅读 138
收藏 0
点赞 0
评论 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/

© 著作权归作者所有

共有 人打赏支持
凯文加内特
粉丝 327
博文 667
码字总数 87615
作品 0
青岛
后端工程师
浅析 innodb next-key lock

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

长平狐
2012/11/01
787
0
MYSQL锁等待,死锁

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

李强-北京
2013/05/24
1K
7
MySQL 执行一个很长的 SQL 语句报错 —— Lock wait timeout exceeded

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

华宰
2015/12/05
615
1
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......

sca7
2017/05/26
25
0
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......

sca7
2017/05/26
53
0
MySql游标在查询多少条数据时会出现问题

今天用存储过程操作数据表时。发现一直等不到执行结果。然后再去执行这个操作时出现了这样的错误:Lock wait timeout exceeded; try restarting transaction。存储过程中用到了游标。操作包括...

不给你听
2016/09/14
489
2
_mysql_exceptions.OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction')

conn.executemany(sql, tmp) File "build/bdist.linux-x86_64/egg/MySQLdb/cursors.py", line 223, in executemany File "build/bdist.linux-x8664/egg/MySQLdb/cursors.py", line 316, in q......

Baclk5
2017/07/24
24
2
Mysql错误1205:Lock wait timeout exceeded 解决办法

错误日志:ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction 错误原因:一个SQL执行完了,但未COMMIT,后面的SQL想要执行就是被锁,超时结束。 解决方案: 1.查...

鱼鱼鱼丶七
2017/10/24
0
0
关于mysql反复死锁的问题

今天测试环境,Mysql发生了一个莫名其妙的问题。 一个表里面,有3W多数据,有一条数据,无论通过代码,还是数据库连接工具,一修改就卡死,过一段时间提示“Lock wait timeout exceeded; try...

OLESHI
01/24
0
0
隔离级别和MVCC

-----本文章为个人理解,如有疑问或错误欢迎留言并讨论----- 谢谢。 昨天去去哪儿网面试,老周和老赵问了很多问题,大多关于细节,其中就包括事务隔离级别和MVCC,由于准备不够充分,所以今天...

浮生凤年
2015/07/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JPA @MappedSuperclass 注解说明

基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解只能标准在类上:@Target({java.lang....

海博1600
2分钟前
0
0
Scala Configuration 相关API

Play使用了 Typesafe config library,但是也提供了一个有着更多Scala高级特性的的 Configuration 封装。不熟悉Typesafe配置的开发者可以移步 configuration文件的语法和特性文档。 读取配置...

Landas
今天
1
0
使用cookie技术 记住账号

1. 效果 2. 实现过程 2.1 前端 将用户的选中传递给后台 这个参数的获取是 参考:https://my.oschina.net/springMVCAndspring/blog/1860498 // var rememberLogin = $("#rememberLoginId").i...

Lucky_Me
今天
1
0
《趣谈网络协议》02之网络分层的真实含义

一、提出问题 1.提出问题 当你听到什么二层设备、三层设备、四层 LB 和七层 LB 中层的时候,是否有点一头雾水,不知道这些所谓的层,对应的各种协议具体要做什么“工作”? 2.这四个问题你弄...

aibinxiao
今天
2
0
Python3学习日志二 Python中的集合set和字典dict

1.集合set 定义一个集合set 我们可以看到定义集合set有两种不同的形式,如果要定义一个空的集合set不能用{}而是要用set();另外,集合是无序的,而且set中的元素是不可重复的,如果你定义了一...

Mr_bullshit
今天
0
0
adb 操作指令详解

ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 注:有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。...

孟飞阳
今天
0
0
nodejs安装以及环境配置(很好的node安装和配置文章,少走很多弯路)

一、安装环境 1、本机系统:Windows 10 Pro(64位) 2、Node.js:v6.9.2LTS(64位) 二、安装Node.js步骤 1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/ 2、选安装目录进...

sprouting
今天
1
0
Redisson

了解了Redisson,发现使用挺简单的,接下来准备深入学习一下。 Redisson介绍 Redisson是架设于Redis基础之上的一个Java驻内存数据网格(In-Memory Data Grid) Redisson在基于NIO的Netty框架上...

to_ln
今天
0
0
python有哪些好玩的应用实现,用python爬虫做一个二维码生成器

python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬虫的另一个应用方向! 今天给...

python玩家
今天
0
0
python爬虫日志(3)-爬去异步加载网页

在浏览器检查元素页面中,选取Network中的XHR选项即可观察每次加载页面,网页发出的请求,观察url的规律即可利用封装的函数对每一页进行爬取。

茫羽行
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部