OCP下monitor租户合并失败

【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.3.5
【问题描述】OCP下monitor租户合并失败,其他租户合并正常
【复现路径】问题出现前后相关操作
1、合并失败,长时间处于合并中,已经8个小时


2、查询合并失败的TENANT_ID = 1004
select * from GV$OB_COMPACTION_DIAGNOSE_INFO WHERE TENANT_ID = 1004;

详细信息如下
error_no=-4034,last_error_time=1744077516181700,error_trace=YB420A0B093D-0006322C65074A20-0-0,warning=“info=“DAG_MAJOR_MERGE”;ls_id=1;tablet_id=182;compaction_scn=1744048801036449184;extra_info=“merge_type=“MEDIUM_MERGE””;”

3、查看对应的日志信息
cd /root/oceanbase/log
grep YB420A0B093D-0006322C65074A20-0-0 observer.*

traceid.log (43.7 KB)
4、合并失败,问题相关的表

2 个赞

1.麻烦发下OB的详细版本

show variables like '%version_comment%';

2.使用obdiag进行合并失败根因分析

obdiag rca run --scene=major_hold 

https://www.oceanbase.com/docs/common-obdiag-cn-1000000002488219

2 个赞

OceanBase_CE 4.2.1.8 (r108000022024072217-3149c25ca2dadbb7707686ad02a1367b1b43e0b5) (Built Jul 23 2024 03:19:19)

obdiag_major_hold_20250408104101.zip (16.7 KB)

1 个赞

obdiag display-trace e80cdf26-1422-11f0-9c75-00163eb20c6f

obdiagdisplay-trace e80cdf26.log (9.8 KB)

看您这边之前发过一个帖子,当时查出来是IO Error,是同一套集群吗?

修改了磁盘配置参数和接口,重新部署的新集群。目前来看,还没发现IO错误吧

目前的日志没有发现IO错误,麻烦提供下09:58分左右完整的observer.log看下

ocp-server.zip (7.2 MB)
麻烦看看这个ocp日志,有9:58左右的报错日志

observer.log没有9:58左右的
合并失败的租户是OCP下的租户,ocp_monitor

ocp-server.log中的报错是monitor租户执行下show create table xxx报错,可能和合并问题有关系,

合并出现这个报错通常有两个原因,一是硬件问题,如磁盘有异常,二是OB内核BUG,OB内核BUG在4.2.1.10版本修复了,如果你确定没有硬件错误 可以升级到4.2.1.10或之后版本再试下。

observer.log:[2025-04-08 09:58:36.181327] ERROR issue_dba_error (ob_log.cpp:1875) [42313][T1004_MAJOR_MER][T1004][YB420A0B093D-0006322C65074A20-0-0] [lt=5][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4034, file="ob_macro_block_common_header.cpp", line_no=140, info="deserialize error")
observer.log:[2025-04-08 09:58:36.181349] EDIAG [STORAGE] deserialize (ob_macro_block_common_header.cpp:140) [42313][T1004_MAJOR_MER][T1004][YB420A0B093D-0006322C65074A20-0-0] [lt=22][errcode=-4034] deserialize error(ret=-4034, *this={header_size:0, version:0, magic:0, attr:0, payload_size:0, payload_checksum:0}) BACKTRACE:0x1204f5bc 0x505bb05 0x51541fd 0x5153cbf 0x5140314 0x5153b63 0xecadb4e 0xec48b0a 0xeca603e 0xf24d66d 0xf24c9ee 0x4eb1a53 0xf0495f7 0x506841d 0xf064ced 0xf0bc00e 0xfb20b9a 0x513078e 0x126fe6e1 0x126faaa0 0x1521dc2081ca 0x1521dbe398d3
observer.log:[2025-04-08 09:58:36.181368] WDIAG [STORAGE] open (ob_macro_block_bare_iterator.cpp:124) [42313][T1004_MAJOR_MER][T1004][YB420A0B093D-0006322C65074A20-0-0] [lt=18][errcode=-4034] Failed to deserialize macro header(ret=-4034, macro_block_buf=0x1520c74f3000, macro_block_buf_size=4096)
2 个赞

OCP社区版在部署的时候不能选择OB的版本啊

可以先部署OB(4.2.1.10),然后部署OCP,部署时选择 使用已有的 OceanBase 数据库

https://www.oceanbase.com/docs/common-ocp-1000000002381076

建议把OCP4.3.5版本使用的OB版本升级一下

OCP4.3.5,能使用OB4.3.5吗

不建议使用OB4.3.5,实际上ocp-all-in-one包里面的OB版本是ocp的最佳适配版本,即使有bug也很少能触发到,这里怀疑触发到了bug,建议使用4.2.1.10或4.2.1.11

1 个赞

好的

我在61服务器上部署了OB(4.2.1.11),然后在同一台服务器上选择用的现有OB(4.2.1.11)部署OCP。然后用OCP去接管OB,出现如下报错


任务日志
subtask_1000147.log (12.8 KB)

OCP运行日志
ocp-server.log (10.9 MB)

学习了!!!

感觉像是OCP的某个服务没有起来,http://192.168.1.61/api/v2/object-storage/sys-package/ocp-agent-ce-4.3.5-20250319105844.el7.x86_64.rpm,这个接口拒绝访问

你看下ocp.site.url的设置,改成8080端口试下

1 个赞