基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
迁移复制报错 -4735 原因分析及解决方法
更新时间:2026-08-17 07:21
问题现象
在执行集群迁移变配操作时,部分 Tablet 迁移持续失败,报错信息为 OB_SSTABLE_NOT_EXIST(-4735),且迁移过程长时间卡住。
问题集中在单表大分区场景下,源端在迁移期间因持续写入导致频繁转储和 Minor Merge,造成目标端无法获取稳定的 SSTable,从而不断重试失败。
问题原因
在源端存在高写入压力的情况下,大分区表(尤其是非分区大表)会持续触发转储(Major Compaction)和 Minor Merge 操作,导致 SSTable 文件频繁变更。
迁移过程中,目标端依赖源端的 SSTable 快照进行数据拉取。当 SSTable 在传输过程中发生变动或被删除时,将导致获取失败,进而持续报错 -4735 并重试,最终迁移失败。
该问题为已知设计限制,当前无自动容错机制,需外部干预避免源端 Compaction 频繁触发。
关键信息
- 报错码:-4735(
OB_SSTABLE_NOT_EXIST) - 问题 Tablet 特征:单表大分区,主表 Tablet 大小达 316 GB,附带 LOB 表 Tablet 约 155 GB,局部索引 Tablet 约 15 GB
- 根本诱因:源端在迁移期间持续写入,引发频繁转储与 Minor Merge
- 日志关键线索:迁移目的端因无法获取 SSTable 而持续重试,源端日志显示大量 Compaction 事件
问题的风险及影响
- 迁移失败,迁移过程长时间卡住。
- 影响业务变更计划。
- 在高写入场景下,大分区表迁移成功率显著降低,存在数据迁移中断风险。
适用版本
当前版本存在该问题,具体受影响版本未在工单中明确说明,需后续补充。修复版本尚未发布,当前为已知问题但未修复状态。
解决方法
- 应急处理:暂停相关大表的写入操作,待迁移完成后再恢复写入。
- 资源调整:临时增加源端内存,降低 Compaction 频率,缓解转储与 Minor Merge 压力。
- 重启迁移任务,待源端稳定后重试,通常可成功完成。
规避方式
- 迁移变配前,尽量降低目标表的写入压力,避免在高写入场景下进行大分区表迁移。
- 避免对单表大分区(如主表 > 100 GB、LOB 表 > 100 GB)执行迁移操作,建议拆分或分批迁移。
- 若必须迁移,建议在业务低峰期执行,并提前评估写入负载,必要时提前停写或扩容内存。