dbcp连接池不合理的锁导致连接耗尽

应用报错,表象来看是连接池爆满了。 org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is org.apache.commons.dbcp.SQLNestedException: Canno...
阅读(9575) 评论(0)

reactor线程阻塞引起故障

大致线程模型: jstack打印JVM堆栈,可以看到reactor线程阻塞了,导致它对应的前端连接无法使用。阻塞在了oracle驱动rollback动作,这里其实是因为oracle驱动为了保证串行请求响应而在底层加了锁,而这个通道被慢语句塞住了,所以reactor线程都塞了。 "$_NIOREACTOR-7-RW" prio=10 tid=0x00007f069856f000 nid=0xde1...
阅读(796) 评论(0)

应用直接中断连接导致数据被锁(生产故障)

这是一个由应用重启连接直接而导致数据被锁的问题。 系统大致结构基本情况:整个架构为了统一管理db连接,共享连接。 应用通过loadbalance连接db访问层。 db访问层后端代理若干db。 应用到loadbalance以mysql协议通信。 db访问层到db以JDBC方式通信。 故障: 某些数据库中的表数据相当长一段时间被锁,导致应用某些场景失败。 故障分析:应用开启一个事务的set autoco...
阅读(1951) 评论(0)
    打赏作者

    赞作者(*^__^*)



    如果您觉得作者写的文章有帮助到您,您可以打赏作者一瓶汽水(*^__^*)

    作者

    笔名:seaboat 汪洋之舟

    github:https://github.com/sea-boat

    微信:



    公众号:

    个人资料
    • 访问:866605次
    • 积分:12009
    • 等级:
    • 排名:第1314名
    • 原创:284篇
    • 转载:5篇
    • 译文:1篇
    • 评论:316条
    博客专栏