前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >长事务引起线上问题

长事务引起线上问题

原创
作者头像
温安适
发布2022-05-05 14:58:36
3350
发布2022-05-05 14:58:36
举报
文章被收录于专栏:温安适的blog温安适的blog

​前提

一个平常的工作日,系统出现大量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. 稳妥起见,加索引,业务低峰期进行。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ​前提
  • 问题分析
  • 幽灵事务的产生
  • 问题总结
  • 解决办法
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档