备租户回放卡住,报错信息为get precise file and offset failed(-4008)

【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】4.2.1.8
【问题描述】主集群架构为1-1-1,另通过nfs归档文件创建两个备租户,其中一个租户同步正常,另外一个租户同步点位卡住,日志报错get precise file and offset failed(-4008)
【复现路径】
正常回放备租户


回放异常备租户

异常租户日志

4 个赞

在备库上系统租户下执行
select * from __all_virtual_tenant_info where tenant_id = xxxx;

2 个赞

*************************** 1. row ***************************
tenant_id: 1026
gmt_create: 2025-04-11 14:32:42.208065
gmt_modified: 2025-05-06 10:14:05.615146
tenant_role: STANDBY
switchover_status: NORMAL
switchover_epoch: 0
sync_scn: 1746471548996957180
replayable_scn: 1746471548996957180
readable_scn: 1746471548996957180
recovery_until_scn: 4611686018427387903
log_mode: NOARCHIVELOG
max_ls_id: 1001
1 row in set (0.002 sec)

3 个赞

目前看着是
sync_scn < recovery_until_scn,则需要进一步排查是哪个日志流的sync_scn不推进了
在系统租户下执行
select * from __all_virtual_ls_recovery_stat where tenant_id = xxxx;

2 个赞


租户日志流卡住了,系统日志流正常

3 个赞

先查询是否是由于没拉日志 导致
在系统租户下执行
select * from __all_virtual_log_stat where tenant_id = xxx and ls_id = yyy;

2 个赞

3 个赞

用ob_admin解析回放失败的归档文件有数据损坏的报错

2 个赞

但是归档文件损坏,为什么一个备租户同步正常,一个异常呢…依赖的是同一份归档文件

3 个赞

如果leader副本的end_scn和sync_scn是相等,那就是没有拉日志导致的 在查一下下面的信息 ,看着是11点的时候 有块的损坏
在系统租户下执行
select * from __all_virtual_ls_meta_table where tenant_id = xxx and ls_id = yyy;

2 个赞

这个是ob_admin.log,我是11点解析的,有问题的归档文件是凌晨三点的那个clog归档文件

这是解析命令
/home/admin/oceanbase/bin/ob_admin log_tool dump_tx_format ./289685.obarc > 289685.log

image

3 个赞

3 个赞

这两个查询都是备库上查询的么?
select * from __all_virtual_log_stat where tenant_id = xxx and ls_id = yyy;
select * from __all_virtual_ls_meta_table where tenant_id = xxx and ls_id = yyy;

3 个赞

就是在备租户看的

3 个赞

是的

3 个赞

这个解析的文件能提供一下么?

2 个赞

已发给您,文件包含损坏归档,以及ob_admin解析log

3 个赞

备租户恢复时,备份文件是直接访问的nfs还是手动复制粘贴目录到目标服务器上操作的呢?

2 个赞

直接访问NFS

2 个赞


把这个时间点的整个observer.log日志提供一下

1 个赞