ocp告警OBServer 非预期的内部错误info"callback memory failed"

【 使用环境 】测试环境
【 OB or 其他组件 】ocp
【 使用版本 】4.3.1
【问题描述】正常执行sql,告警

【复现路径】sysbench压测
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):


告警事件详情

告警概述:alarm_template_id=0:ob_cluster=openeuler_cosmo-1724226826:host=xxx.xxx.xxx.xxx OBServer 非预期的内部错误

告警详情:[OBServer 非预期的内部错误] 集群:openeuler_cosmo,主机:xxx.xxx.xxx.xxx,日志类型:observer,日志文件:/data/ob_base_dir/oceanbase/log/observer.log,日志级别:ERROR,关键字=Unexpected internal error happen,错误码=4388,日志详情=[2024-08-23 10:33:56.493224] ERROR issue_dba_error (ob_log.cpp:1875) [5733][T1002_ReplaySrv][T1002][Y0-0000000000000000-0-0] [lt=3][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4013, file=“ob_memtable_context.h”, line_no=288, info=“callback memory failed”)。

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据您提供的信息,错误码 -4388 和错误信息 'callback memory failed' 表明 OBServer 在处理某个回调操作时遇到了内存相关的问题。这可能与内存分配失败有关,或者是内存管理方面出现了异常。

由于 obdiag 目前提供的场景中没有直接针对内存错误的具体场景,我们可以选择一个较为通用的场景来尝试收集相关信息,以便进一步分析问题的原因。

根因分析场景:

暂无适用的根因分析场景。

日志采集场景:

内存问题

日志采集命令:

obdiag gather scene run --scene=observer.memory

该命令会收集与内存相关的诊断信息,包括但不限于内存使用情况、进程状态等,这些信息有助于我们进一步定位问题。

提供更多信息:

为了更准确地定位问题,请您提供以下信息:

  1. OBServer 版本:您使用的 OceanBase Server 版本是多少?
  2. 系统配置:您的测试环境的硬件配置如何?特别是内存大小和 CPU 规格。
  3. 负载情况:当出现这个错误时,OBServer 正在执行什么操作?是否有特定的 SQL 语句或操作触发了这个问题?
  4. 错误频率:这个问题是一次性的还是频繁出现?如果是频繁出现,大概多久会出现一次?

请您执行上述 obdiag 命令并提供收集到的日志文件,这将有助于我们进一步分析问题。

具体信息可参考以下文档:

附上敏捷诊断工具 obdiag 使用帮助链接

提供这个时间段的observer日志上传一下
麻烦把这两个信息查询一下 贴出来
查询500租户的整体内存: select /* MONITOR_AGENT */ sum(hold)/1024/1024/1024 as hold, sum(used)/1024/1024/1024 as used from GV$OB_MEMORY where tenant_id = 500 and mod_name <> ‘OB_KVSTORE_CACHE_MB’;
查看模块内存: select * from gv$ob_memory where tenant_id=500 order by used desc limit 20;