资讯专栏INFORMATION COLUMN

记一次Could not retrieve transation read-only status

ybak / 1836人阅读

摘要:当看到意识到连接异常,但与当前方法连接同一个库的其他方法可以执行成功,所以数据库服务也是正常的。最终发现原因排查的方法中有其他操作发送请求,稍微有点耗时,但整个方法一分钟之类肯定能处理完。最终解决办法此处的单位应该是秒。

简述:
技术,spring+mysql....
新项目上线碰到一个问题,具体现象为执行一个方法时报异常,异常信息如下:

2019-08-20 09:46:08.917[ERROR][Log4jFilter.java:152][DubboServerHandler-192.168.12.156:28104-thread-207] {conn-10670, pstmt-21062} execute error. delete from Dpgd where shco = ?
java.sql.SQLException: Could not retrieve transation read-only status server
    ....
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 7,603 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
    ...
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1038)

最开始只看到Could not retrieve transation read-only status server没看到下面的Communications link failure,以为是在代码中手动设置事务状态为只读或者事务回滚,后来查代码也没发现。
当看到Communications link failure意识到连接异常,但与当前方法连接同一个库的其他方法可以执行成功,所以数据库服务也是正常的。

最终发现原因:排查的方法中有其他操作发送http请求,稍微有点耗时,但整个方法一分钟之类肯定能处理完。

最终解决办法:

show global variables like "%timeout%";
SET GLOBAL wait_timeout=86400;

此处的单位应该是秒。
当前处理的默认值是5
设置86400可能有点极端

其他客户都设置了,就这个可能测试环境,配置的时候忘记改参数了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110721.html

相关文章

  • tomcat7使用dbcp连接池遇到的坑

    摘要:查看资料的过程中发现连接池是有两种的连接池与连接池。在分配对象或对象返回的时候,会锁定全部连接池。连接池使用接口获取底层连接连接池可以防止饥饿。当连接返回时,池就将唤醒正确的等待线程。 项目部署在tomcat后每隔一段时间便会报错 Cause: java.sql.SQLException: Could not retrieve transation read-only status ...

    silenceboy 评论0 收藏0
  • 一次删除 RabbitMQ 消息的经历

    摘要:网页删除想要删除队列中的消息,是可以通过的网页来操作的。但是这种方式存在一个问题,就是当消息多的时候点击,页面会卡死。在节点恢复正常之前,持久化队列将不可用。所以这次我想要先清除指定队列的消息即可。网上搜了一下版本的消息。 前因 在公司最新的项目上,由我们技术总监搭了一套框架,其中有使用RabbitMq来监听监听写事件,这也是我第一次使用RabbitMq。因为在开发的过程中,有些事件会...

    zr_hebo 评论0 收藏0
  • 一次重装nginx时遇到的问题

    摘要:起因之前在网上看文章提到说,通过的方式安装,可能安装不是最新版本的情况,考虑到在下第一次安装,以后肯定会有卸载重新安装新版本的需求,刚好刚开始学习,索性练习下卸载重装的过程。 起因 之前在网上看文章提到说,通过apt-get的方式安装nginx,可能安装不是最新版本的情况,考虑到在Ubuntu下第一次安装nginx,以后肯定会有卸载重新安装新版本的需求,刚好刚开始学习nginx,索性练...

    Vultr 评论0 收藏0
  • 一次重装nginx时遇到的问题

    摘要:起因之前在网上看文章提到说,通过的方式安装,可能安装不是最新版本的情况,考虑到在下第一次安装,以后肯定会有卸载重新安装新版本的需求,刚好刚开始学习,索性练习下卸载重装的过程。 起因 之前在网上看文章提到说,通过apt-get的方式安装nginx,可能安装不是最新版本的情况,考虑到在Ubuntu下第一次安装nginx,以后肯定会有卸载重新安装新版本的需求,刚好刚开始学习nginx,索性练...

    Alex 评论0 收藏0
  • 一次重装nginx时遇到的问题

    摘要:起因之前在网上看文章提到说,通过的方式安装,可能安装不是最新版本的情况,考虑到在下第一次安装,以后肯定会有卸载重新安装新版本的需求,刚好刚开始学习,索性练习下卸载重装的过程。 起因 之前在网上看文章提到说,通过apt-get的方式安装nginx,可能安装不是最新版本的情况,考虑到在Ubuntu下第一次安装nginx,以后肯定会有卸载重新安装新版本的需求,刚好刚开始学习nginx,索性练...

    aisuhua 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<