java数据库事务死锁_【数据库事务】-应用数据库Deadlock问题排查

本文介绍了在【Flow-center-web】系统中遇到的数据库死锁问题,通过CAT监控和MySQL死锁状态分析,发现死锁源于流程创建和更新消息并发消费,以及代码中消息Partition路由策略失效。解决方案包括修复消息路由策略和调整数据库事务操作顺序,以确保消息处理的顺序性和避免资源冲突。
摘要由CSDN通过智能技术生成

背景

清流控制台应用系统【Flow-center-web】在【2020-08-07 16:40:XX】-【2020-08-07 17:40:XX】期间陆续收到【数据库Deadlock】Cat告警消息,

需要排查和定位问题的原因,

检查应用系统是否存在缺陷风险

此问题对应用系统的影响范围。

问题的解决方案

378ea9d33abca497dd5ec14e7cd68a3e.png

问题排查

CAT监控排查

通过应用系统的Cat监控,发现【2020-08-07 16:40:XX】-【2020-08-07 17:40:XX】应用系统打打点流程的处理失败率较高,具体如图

cd5a28c50bf4a5383623c563ac5e86e9.png

详情参考:

2cb0e8982f87af494cf067fb1305b1c6.png

f6fe136902601af41d4822e81b4657ad.png

通过Cat监控大批量的出现了【DeadlockLoserDataAccessException】,此异常调用链主要时在清流流程处理监控消息时【processWFMsg】来根据流程的状态信息决定创建流程【createFlow】或者时更新流程【updateFlow】的行为.

e11719f6c5db2b5be2e7a13a81d3972d.png

死锁状态分析

['

=====================================

2020-08-07 16:55:12 0x7f5ead17d700 INNODB MONITOR OUTPUT

===================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值