Advertisement

线上发生的一个死锁问题源于间隙锁机制

阅读量:

近期在钉钉线上群组中出现了一起关于mysql.jdbc.exception的告警信息,此类涉及数据库层面的异常通常需要引起足够关注,因此迅速展开了问题排查与修复工作,最终发现竟然是由死锁引发,由此催生了本文的撰写。

前提说明:

  • MySQL版本: 8.0.27
    • 隔离级别设置: REPEATABLE-READ
    • 事务自动提交功能: 已启用
    • 死锁检测功能: 已开启
    • 数据库所采用的引擎类型: InnoDB

1、现象

1.1、钉钉群报警:

image.png

1.2、查看elk日志发现有死锁异常

image.png

2、复现 + 排查过程

2.1、业务以及代码逻辑说明

在阐述问题之前,先对所处的场景、具体执行的操作以及代码逻辑进行简要说明,否则可能会让人感到困惑。

1、接口的作用: 该接口用于预支付功

全部评论 (0)

还没有任何评论哟~