长事务引起线上问题

前提

一个平常的工作日,系统出现大量502. 下面是该问题的排查过程。

查询该问题,进行复盘。

问题分析

当时给partner_XXX表 加索引,

ALTER TABLE `partner_XXX`
	ADD INDEX `idx_point_id` (`point_id`);

partner_XXX表,线上数据 4W, 空间25M,理论加索引时间,小于1s

是什么造成卡住的,查看阿里云 自治服务-> 一键诊断 > 自治中心->事务和锁快照 部分,如下图发现:

加索引的语句,在等待元数据锁,被一个没有任何执行语句的幽灵事务卡主了。

幽灵事务的产生

IDEA 社区版本,Database Navigator 插件

多次执行show index,操作,并查看返回结果中的数据时,会开启事务,如下图

问题总结

首先,IDEA 社区版本,Database Navigator 插件,调用show index 语句,开启了 事务,没有提交,持有了metadata lock。

其次,ALTER TABLE `partner_XXX` ADD INDEX `idx_point_id` (`point_id`);

由于数据库是1核1G

ALTER TABLE 语句卡主其他查询,造成服务连接不上数据库

解决办法

  1. IDEA 社区版本,Database Navigator 插件,开启自动提交
  2. 稳妥起见,加索引,业务低峰期进行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值