首批通过分布式安全可靠测评,为关键业务系统打造
异地 Zone5 合并超时,Clog 不断重复 Rebuild 问题分析
更新时间:2026-06-15 09:16
适用版本
OceanBase 数据库 V3.x 版本。
问题描述
对 OceanBase 集群进行稳定性压测,产生大量 Clog。两地网络带宽 1GB,压测期间,网络侧监控流量最高 800MB 左右,带宽未使用完。但异地 Zone5 网络防火墙 CPU 使用率满了,网络丢包重传高,导致 Clog 同步延迟,Rebuild 任务一直未完成,Clog 延迟最大已达 48 小时之久。
停止压测后,Clog 未同步的 Partition 数量逐渐减少,最后只剩下 2 张表的 Partition 需要 Rebuild,数据量大概 15 亿,经过一个晚上同步都未完成。
排查发现这两张表的 Clog 在不断的重复 Rebuild。如下图 __all_virtual_clog_stat 所示。


问题原因
排查日志发现 Zone5 的 OBServer 报错 -4012 rpc send packet fail,session timeout。

Rebuild 时一个 2M 大小的宏块如果在 9 秒内不能传送完成就超时,超时重试次数最多 3 次(代码写死),重试 3 次不能成功 Rebuild 的任务就终止,然后等待下一次任务重试。
最终原因是:
由于异地防火墙设备老旧,导致看到的现象是防火墙的 CPU 使用率满了,当对异地防火墙设备下架删除后,流量到后端负载的交换机只有一台,导致交换机的 CPU 使用率也满了,从而丢包重传,网络丢包重传率很高。
解决方法
最终在网络侧加了一台交换机,对 OceanBase 数据库和虚拟化同步的进行了分流,从开发环境表现上看网络重传率降低了。