记一次mysql事务提交异常引发的线上问题 Could not retrieve transaction read-only status from server

记一次mysql事务提交异常引发的线上问题 Could not retrieve transaction read-only status from server

 

 现象:  执行批量插入数据库时提示当前事务为只读状态,无法提交事务

原因:  代码执行到入库逻辑时,未做大批量数据的保障措施,导致一次插入数据量达到2W多条,造成数据库连接超时

    注:当前数据库wait_timeout时间为10分钟,事务开启,从数据库获取到连接,10分钟之后数据库已经主动断开事务保持的连接,事务再次操作数据库抛出异常

记一次mysql事务提交异常引发的线上问题 Could not retrieve transaction read-only status from server

 

 

解决:  插入逻辑部分代码优化为分页插入,每次500条,解决当前问题

上一篇:C++ multi thread via pthread to retrieve returned result


下一篇:org.quartz.JobPersistenceException: Couldn‘t retrieve job because a required class was not found。异常记