基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
因在备份期间创建索引导致创建索引卡在 copy sstable
更新时间:2026-08-25 02:41
总结说明
OceanBase 3.x 版本中,集群执行备份恢复任务期间对主表进行 DDL 建索引操作,导致建索引任务卡在 copy sstable 阶段。
详细说明
问题现象
在 OceanBase 3.x 版本中,当集群正在执行备份或恢复任务,且目标表处于备份过程中时,对该表发起的 DDL 建索引(ADD INDEX)操作会出现长时间挂起未返回的现象。
此时观察租户资源监控,CPU 使用率通常较低,且 RS 事件历史或 observer 日志中可能记录有 copy_sstable 相关的错误码(如 -4289)。
问题原因
该现象属于 By Design 的系统已知设计限制。其根本原因在于:3.x 版本在建索引过程中底层需要执行 SSTable 拷贝操作,而该操作强依赖于集群内部的数据迁移机制。当主表正在进行备份时,集群的迁移机制会被备份流程占用或触发状态冲突,导致依赖迁移机制的建索引任务无法正常调度与执行,从而形成阻塞状态。
解决方法
若需立即完成建索引操作,需取消当前正在进行的备份恢复任务,待备份流程结束后再重新执行建索引 DDL。
适用版本
OceanBase 3.x 版本