为分区表add属性为local的索引,看着表的索引已经创建了,但是show processlist看add索引语句还在执行。最终超时了

【 使用环境 】生产环境
【 OB or 其他组件 】OceabBase_CE 4.2.1.2
【 使用版本 】OceabBase_CE 4.2.1.2
【问题描述】为分区表add属性为local的索引,看着表的索引已经创建了,但是show processlist看add索引语句还在执行。最终超时了,timeout。
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

用户问题总结: 在为分区表添加带有 local 属性的索引时,SHOW PROCESSLIST 命令显示该索引添加操作长时间未完成,最终导致超时。

针对这个问题,推荐使用 obdiag 工具进行日志采集,以便进一步分析问题的具体原因。

日志采集场景: 长事务
日志采集命令: obdiag gather scene run --scene=observer.long_transaction

请您执行上述命令并将生成的日志压缩包发送给我们,这将有助于我们更准确地定位问题所在。

此外,请您提供以下信息以便于我们更好地帮助您解决问题:

  1. 添加索引的表结构是怎样的?特别是它的分区键和索引定义。
  2. 当前集群的负载情况如何?是否有其他大量的并发操作正在进行?
  3. 您是否尝试过取消这个长时间运行的索引创建操作?结果如何?
  4. 您是否注意到在执行 SHOW PROCESSLIST 时,除了索引创建任务外还有哪些其他类型的长时间运行的任务?

检索到的文档如下:

  1. 索引设计

附上敏捷诊断工具 obdiag 使用帮助链接

add索引是online操作,“show processlist看add索引语句还在执行。最终超时了,timeout”
表明索引是没有添加成功

直接用诊断工具obdiag的根因分析功能分析一下看,ddl失败场景的根因分析:https://www.oceanbase.com/docs/common-obdiag-cn-1000000001356747